hx711_data 101 drivers/iio/adc/hx711.c static int hx711_cycle(struct hx711_data *hx711_data) hx711_data 111 drivers/iio/adc/hx711.c gpiod_set_value(hx711_data->gpiod_pd_sck, 1); hx711_data 118 drivers/iio/adc/hx711.c ndelay(hx711_data->data_ready_delay_ns); hx711_data 126 drivers/iio/adc/hx711.c gpiod_set_value(hx711_data->gpiod_pd_sck, 0); hx711_data 133 drivers/iio/adc/hx711.c ndelay(hx711_data->data_ready_delay_ns); hx711_data 136 drivers/iio/adc/hx711.c return gpiod_get_value(hx711_data->gpiod_dout); hx711_data 139 drivers/iio/adc/hx711.c static int hx711_read(struct hx711_data *hx711_data) hx711_data 143 drivers/iio/adc/hx711.c int val = gpiod_get_value(hx711_data->gpiod_dout); hx711_data 151 drivers/iio/adc/hx711.c ret = hx711_cycle(hx711_data); hx711_data 158 drivers/iio/adc/hx711.c for (i = 0; i < hx711_get_gain_to_pulse(hx711_data->gain_set); i++) hx711_data 159 drivers/iio/adc/hx711.c hx711_cycle(hx711_data); hx711_data 164 drivers/iio/adc/hx711.c static int hx711_wait_for_ready(struct hx711_data *hx711_data) hx711_data 174 drivers/iio/adc/hx711.c val = gpiod_get_value(hx711_data->gpiod_dout); hx711_data 186 drivers/iio/adc/hx711.c static int hx711_reset(struct hx711_data *hx711_data) hx711_data 189 drivers/iio/adc/hx711.c int val = gpiod_get_value(hx711_data->gpiod_dout); hx711_data 201 drivers/iio/adc/hx711.c gpiod_set_value(hx711_data->gpiod_pd_sck, 1); hx711_data 203 drivers/iio/adc/hx711.c gpiod_set_value(hx711_data->gpiod_pd_sck, 0); hx711_data 205 drivers/iio/adc/hx711.c ret = hx711_wait_for_ready(hx711_data); hx711_data 212 drivers/iio/adc/hx711.c ret = hx711_read(hx711_data); hx711_data 220 drivers/iio/adc/hx711.c val = hx711_wait_for_ready(hx711_data); hx711_data 226 drivers/iio/adc/hx711.c static int hx711_set_gain_for_channel(struct hx711_data *hx711_data, int chan) hx711_data 231 drivers/iio/adc/hx711.c if (hx711_data->gain_set == 32) { hx711_data 232 drivers/iio/adc/hx711.c hx711_data->gain_set = hx711_data->gain_chan_a; hx711_data 234 drivers/iio/adc/hx711.c ret = hx711_read(hx711_data); hx711_data 238 drivers/iio/adc/hx711.c ret = hx711_wait_for_ready(hx711_data); hx711_data 243 drivers/iio/adc/hx711.c if (hx711_data->gain_set != 32) { hx711_data 244 drivers/iio/adc/hx711.c hx711_data->gain_set = 32; hx711_data 246 drivers/iio/adc/hx711.c ret = hx711_read(hx711_data); hx711_data 250 drivers/iio/adc/hx711.c ret = hx711_wait_for_ready(hx711_data); hx711_data 259 drivers/iio/adc/hx711.c static int hx711_reset_read(struct hx711_data *hx711_data, int chan) hx711_data 268 drivers/iio/adc/hx711.c if (hx711_reset(hx711_data)) { hx711_data 269 drivers/iio/adc/hx711.c dev_err(hx711_data->dev, "reset failed!"); hx711_data 273 drivers/iio/adc/hx711.c ret = hx711_set_gain_for_channel(hx711_data, chan); hx711_data 277 drivers/iio/adc/hx711.c val = hx711_read(hx711_data); hx711_data 286 drivers/iio/adc/hx711.c struct hx711_data *hx711_data = iio_priv(indio_dev); hx711_data 290 drivers/iio/adc/hx711.c mutex_lock(&hx711_data->lock); hx711_data 292 drivers/iio/adc/hx711.c *val = hx711_reset_read(hx711_data, chan->channel); hx711_data 294 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 301 drivers/iio/adc/hx711.c mutex_lock(&hx711_data->lock); hx711_data 303 drivers/iio/adc/hx711.c *val2 = hx711_get_gain_to_scale(hx711_data->gain_set); hx711_data 305 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 319 drivers/iio/adc/hx711.c struct hx711_data *hx711_data = iio_priv(indio_dev); hx711_data 332 drivers/iio/adc/hx711.c mutex_lock(&hx711_data->lock); hx711_data 336 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 340 drivers/iio/adc/hx711.c if (gain != hx711_data->gain_set) { hx711_data 341 drivers/iio/adc/hx711.c hx711_data->gain_set = gain; hx711_data 343 drivers/iio/adc/hx711.c hx711_data->gain_chan_a = gain; hx711_data 345 drivers/iio/adc/hx711.c ret = hx711_read(hx711_data); hx711_data 347 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 352 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 372 drivers/iio/adc/hx711.c struct hx711_data *hx711_data = iio_priv(indio_dev); hx711_data 375 drivers/iio/adc/hx711.c mutex_lock(&hx711_data->lock); hx711_data 377 drivers/iio/adc/hx711.c memset(hx711_data->buffer, 0, sizeof(hx711_data->buffer)); hx711_data 383 drivers/iio/adc/hx711.c hx711_data->buffer[j] = hx711_reset_read(hx711_data, hx711_data 388 drivers/iio/adc/hx711.c iio_push_to_buffers_with_timestamp(indio_dev, hx711_data->buffer, hx711_data 391 drivers/iio/adc/hx711.c mutex_unlock(&hx711_data->lock); hx711_data 475 drivers/iio/adc/hx711.c struct hx711_data *hx711_data; hx711_data 480 drivers/iio/adc/hx711.c indio_dev = devm_iio_device_alloc(dev, sizeof(struct hx711_data)); hx711_data 486 drivers/iio/adc/hx711.c hx711_data = iio_priv(indio_dev); hx711_data 487 drivers/iio/adc/hx711.c hx711_data->dev = dev; hx711_data 489 drivers/iio/adc/hx711.c mutex_init(&hx711_data->lock); hx711_data 495 drivers/iio/adc/hx711.c hx711_data->gpiod_pd_sck = devm_gpiod_get(dev, "sck", GPIOD_OUT_LOW); hx711_data 496 drivers/iio/adc/hx711.c if (IS_ERR(hx711_data->gpiod_pd_sck)) { hx711_data 498 drivers/iio/adc/hx711.c PTR_ERR(hx711_data->gpiod_pd_sck)); hx711_data 499 drivers/iio/adc/hx711.c return PTR_ERR(hx711_data->gpiod_pd_sck); hx711_data 506 drivers/iio/adc/hx711.c hx711_data->gpiod_dout = devm_gpiod_get(dev, "dout", GPIOD_IN); hx711_data 507 drivers/iio/adc/hx711.c if (IS_ERR(hx711_data->gpiod_dout)) { hx711_data 509 drivers/iio/adc/hx711.c PTR_ERR(hx711_data->gpiod_dout)); hx711_data 510 drivers/iio/adc/hx711.c return PTR_ERR(hx711_data->gpiod_dout); hx711_data 513 drivers/iio/adc/hx711.c hx711_data->reg_avdd = devm_regulator_get(dev, "avdd"); hx711_data 514 drivers/iio/adc/hx711.c if (IS_ERR(hx711_data->reg_avdd)) hx711_data 515 drivers/iio/adc/hx711.c return PTR_ERR(hx711_data->reg_avdd); hx711_data 517 drivers/iio/adc/hx711.c ret = regulator_enable(hx711_data->reg_avdd); hx711_data 533 drivers/iio/adc/hx711.c ret = regulator_get_voltage(hx711_data->reg_avdd); hx711_data 544 drivers/iio/adc/hx711.c hx711_data->gain_set = 128; hx711_data 545 drivers/iio/adc/hx711.c hx711_data->gain_chan_a = 128; hx711_data 547 drivers/iio/adc/hx711.c hx711_data->clock_frequency = 400000; hx711_data 549 drivers/iio/adc/hx711.c &hx711_data->clock_frequency); hx711_data 555 drivers/iio/adc/hx711.c if (hx711_data->clock_frequency < 20000) { hx711_data 557 drivers/iio/adc/hx711.c hx711_data->clock_frequency = 400000; hx711_data 560 drivers/iio/adc/hx711.c hx711_data->data_ready_delay_ns = hx711_data 561 drivers/iio/adc/hx711.c 1000000000 / hx711_data->clock_frequency; hx711_data 591 drivers/iio/adc/hx711.c regulator_disable(hx711_data->reg_avdd); hx711_data 598 drivers/iio/adc/hx711.c struct hx711_data *hx711_data; hx711_data 602 drivers/iio/adc/hx711.c hx711_data = iio_priv(indio_dev); hx711_data 608 drivers/iio/adc/hx711.c regulator_disable(hx711_data->reg_avdd);