dln2               88 drivers/gpio/gpio-dln2.c static int dln2_gpio_pin_cmd(struct dln2_gpio *dln2, int cmd, unsigned pin)
dln2               94 drivers/gpio/gpio-dln2.c 	return dln2_transfer_tx(dln2->pdev, cmd, &req, sizeof(req));
dln2               97 drivers/gpio/gpio-dln2.c static int dln2_gpio_pin_val(struct dln2_gpio *dln2, int cmd, unsigned int pin)
dln2              106 drivers/gpio/gpio-dln2.c 	ret = dln2_transfer(dln2->pdev, cmd, &req, sizeof(req), &rsp, &len);
dln2              115 drivers/gpio/gpio-dln2.c static int dln2_gpio_pin_get_in_val(struct dln2_gpio *dln2, unsigned int pin)
dln2              119 drivers/gpio/gpio-dln2.c 	ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_VAL, pin);
dln2              125 drivers/gpio/gpio-dln2.c static int dln2_gpio_pin_get_out_val(struct dln2_gpio *dln2, unsigned int pin)
dln2              129 drivers/gpio/gpio-dln2.c 	ret = dln2_gpio_pin_val(dln2, DLN2_GPIO_PIN_GET_OUT_VAL, pin);
dln2              135 drivers/gpio/gpio-dln2.c static int dln2_gpio_pin_set_out_val(struct dln2_gpio *dln2,
dln2              143 drivers/gpio/gpio-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_GPIO_PIN_SET_OUT_VAL, &req,
dln2              152 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              160 drivers/gpio/gpio-dln2.c 	ret = dln2_gpio_pin_cmd(dln2, DLN2_GPIO_PIN_ENABLE, offset);
dln2              165 drivers/gpio/gpio-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_GPIO_PIN_GET_DIRECTION,
dln2              176 drivers/gpio/gpio-dln2.c 		clear_bit(offset, dln2->output_enabled);
dln2              179 drivers/gpio/gpio-dln2.c 		set_bit(offset, dln2->output_enabled);
dln2              187 drivers/gpio/gpio-dln2.c 	dln2_gpio_pin_cmd(dln2, DLN2_GPIO_PIN_DISABLE, offset);
dln2              193 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              195 drivers/gpio/gpio-dln2.c 	dln2_gpio_pin_cmd(dln2, DLN2_GPIO_PIN_DISABLE, offset);
dln2              200 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              202 drivers/gpio/gpio-dln2.c 	if (test_bit(offset, dln2->output_enabled))
dln2              210 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              218 drivers/gpio/gpio-dln2.c 		return dln2_gpio_pin_get_in_val(dln2, offset);
dln2              220 drivers/gpio/gpio-dln2.c 	return dln2_gpio_pin_get_out_val(dln2, offset);
dln2              225 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              227 drivers/gpio/gpio-dln2.c 	dln2_gpio_pin_set_out_val(dln2, offset, value);
dln2              233 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              240 drivers/gpio/gpio-dln2.c 	ret = dln2_transfer_tx(dln2->pdev, DLN2_GPIO_PIN_SET_DIRECTION,
dln2              246 drivers/gpio/gpio-dln2.c 		set_bit(offset, dln2->output_enabled);
dln2              248 drivers/gpio/gpio-dln2.c 		clear_bit(offset, dln2->output_enabled);
dln2              261 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              264 drivers/gpio/gpio-dln2.c 	ret = dln2_gpio_pin_set_out_val(dln2, offset, value);
dln2              274 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(chip);
dln2              281 drivers/gpio/gpio-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_GPIO_SET_DEBOUNCE,
dln2              285 drivers/gpio/gpio-dln2.c static int dln2_gpio_set_event_cfg(struct dln2_gpio *dln2, unsigned pin,
dln2              298 drivers/gpio/gpio-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_GPIO_PIN_SET_EVENT_CFG,
dln2              305 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(gc);
dln2              308 drivers/gpio/gpio-dln2.c 	set_bit(pin, dln2->unmasked_irqs);
dln2              314 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(gc);
dln2              317 drivers/gpio/gpio-dln2.c 	clear_bit(pin, dln2->unmasked_irqs);
dln2              323 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(gc);
dln2              328 drivers/gpio/gpio-dln2.c 		dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_HIGH;
dln2              331 drivers/gpio/gpio-dln2.c 		dln2->irq_type[pin] = DLN2_GPIO_EVENT_LVL_LOW;
dln2              334 drivers/gpio/gpio-dln2.c 		dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE;
dln2              337 drivers/gpio/gpio-dln2.c 		dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_RISING;
dln2              340 drivers/gpio/gpio-dln2.c 		dln2->irq_type[pin] = DLN2_GPIO_EVENT_CHANGE_FALLING;
dln2              352 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(gc);
dln2              354 drivers/gpio/gpio-dln2.c 	mutex_lock(&dln2->irq_lock);
dln2              360 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = gpiochip_get_data(gc);
dln2              366 drivers/gpio/gpio-dln2.c 	enabled = test_bit(pin, dln2->enabled_irqs);
dln2              367 drivers/gpio/gpio-dln2.c 	unmasked = test_bit(pin, dln2->unmasked_irqs);
dln2              371 drivers/gpio/gpio-dln2.c 			type = dln2->irq_type[pin] & DLN2_GPIO_EVENT_MASK;
dln2              372 drivers/gpio/gpio-dln2.c 			set_bit(pin, dln2->enabled_irqs);
dln2              375 drivers/gpio/gpio-dln2.c 			clear_bit(pin, dln2->enabled_irqs);
dln2              378 drivers/gpio/gpio-dln2.c 		ret = dln2_gpio_set_event_cfg(dln2, pin, type, 0);
dln2              380 drivers/gpio/gpio-dln2.c 			dev_err(dln2->gpio.parent, "failed to set event\n");
dln2              383 drivers/gpio/gpio-dln2.c 	mutex_unlock(&dln2->irq_lock);
dln2              406 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2 = platform_get_drvdata(pdev);
dln2              409 drivers/gpio/gpio-dln2.c 		dev_err(dln2->gpio.parent, "short event message\n");
dln2              414 drivers/gpio/gpio-dln2.c 	if (pin >= dln2->gpio.ngpio) {
dln2              415 drivers/gpio/gpio-dln2.c 		dev_err(dln2->gpio.parent, "out of bounds pin %d\n", pin);
dln2              419 drivers/gpio/gpio-dln2.c 	irq = irq_find_mapping(dln2->gpio.irq.domain, pin);
dln2              421 drivers/gpio/gpio-dln2.c 		dev_err(dln2->gpio.parent, "pin %d not mapped to IRQ\n", pin);
dln2              425 drivers/gpio/gpio-dln2.c 	switch (dln2->irq_type[pin]) {
dln2              441 drivers/gpio/gpio-dln2.c 	struct dln2_gpio *dln2;
dln2              456 drivers/gpio/gpio-dln2.c 	dln2 = devm_kzalloc(&pdev->dev, sizeof(*dln2), GFP_KERNEL);
dln2              457 drivers/gpio/gpio-dln2.c 	if (!dln2)
dln2              460 drivers/gpio/gpio-dln2.c 	mutex_init(&dln2->irq_lock);
dln2              462 drivers/gpio/gpio-dln2.c 	dln2->pdev = pdev;
dln2              464 drivers/gpio/gpio-dln2.c 	dln2->gpio.label = "dln2";
dln2              465 drivers/gpio/gpio-dln2.c 	dln2->gpio.parent = dev;
dln2              466 drivers/gpio/gpio-dln2.c 	dln2->gpio.owner = THIS_MODULE;
dln2              467 drivers/gpio/gpio-dln2.c 	dln2->gpio.base = -1;
dln2              468 drivers/gpio/gpio-dln2.c 	dln2->gpio.ngpio = pins;
dln2              469 drivers/gpio/gpio-dln2.c 	dln2->gpio.can_sleep = true;
dln2              470 drivers/gpio/gpio-dln2.c 	dln2->gpio.set = dln2_gpio_set;
dln2              471 drivers/gpio/gpio-dln2.c 	dln2->gpio.get = dln2_gpio_get;
dln2              472 drivers/gpio/gpio-dln2.c 	dln2->gpio.request = dln2_gpio_request;
dln2              473 drivers/gpio/gpio-dln2.c 	dln2->gpio.free = dln2_gpio_free;
dln2              474 drivers/gpio/gpio-dln2.c 	dln2->gpio.get_direction = dln2_gpio_get_direction;
dln2              475 drivers/gpio/gpio-dln2.c 	dln2->gpio.direction_input = dln2_gpio_direction_input;
dln2              476 drivers/gpio/gpio-dln2.c 	dln2->gpio.direction_output = dln2_gpio_direction_output;
dln2              477 drivers/gpio/gpio-dln2.c 	dln2->gpio.set_config = dln2_gpio_set_config;
dln2              479 drivers/gpio/gpio-dln2.c 	platform_set_drvdata(pdev, dln2);
dln2              481 drivers/gpio/gpio-dln2.c 	ret = devm_gpiochip_add_data(dev, &dln2->gpio, dln2);
dln2              487 drivers/gpio/gpio-dln2.c 	ret = gpiochip_irqchip_add(&dln2->gpio, &dln2_gpio_irqchip, 0,
dln2               53 drivers/i2c/busses/i2c-dln2.c static int dln2_i2c_enable(struct dln2_i2c *dln2, bool enable)
dln2               60 drivers/i2c/busses/i2c-dln2.c 	tx.port = dln2->port;
dln2               67 drivers/i2c/busses/i2c-dln2.c 	return dln2_transfer_tx(dln2->pdev, cmd, &tx, sizeof(tx));
dln2               70 drivers/i2c/busses/i2c-dln2.c static int dln2_i2c_write(struct dln2_i2c *dln2, u8 addr,
dln2               81 drivers/i2c/busses/i2c-dln2.c 	} __packed *tx = dln2->buf;
dln2               86 drivers/i2c/busses/i2c-dln2.c 	tx->port = dln2->port;
dln2               94 drivers/i2c/busses/i2c-dln2.c 	ret = dln2_transfer_tx(dln2->pdev, DLN2_I2C_WRITE, tx, len);
dln2              101 drivers/i2c/busses/i2c-dln2.c static int dln2_i2c_read(struct dln2_i2c *dln2, u16 addr, u8 *data,
dln2              115 drivers/i2c/busses/i2c-dln2.c 	} __packed *rx = dln2->buf;
dln2              120 drivers/i2c/busses/i2c-dln2.c 	tx.port = dln2->port;
dln2              126 drivers/i2c/busses/i2c-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_I2C_READ, &tx, sizeof(tx),
dln2              143 drivers/i2c/busses/i2c-dln2.c 	struct dln2_i2c *dln2 = i2c_get_adapdata(adapter);
dln2              153 drivers/i2c/busses/i2c-dln2.c 			ret = dln2_i2c_read(dln2, pmsg->addr, pmsg->buf,
dln2              160 drivers/i2c/busses/i2c-dln2.c 			ret = dln2_i2c_write(dln2, pmsg->addr, pmsg->buf,
dln2              190 drivers/i2c/busses/i2c-dln2.c 	struct dln2_i2c *dln2;
dln2              194 drivers/i2c/busses/i2c-dln2.c 	dln2 = devm_kzalloc(dev, sizeof(*dln2), GFP_KERNEL);
dln2              195 drivers/i2c/busses/i2c-dln2.c 	if (!dln2)
dln2              198 drivers/i2c/busses/i2c-dln2.c 	dln2->buf = devm_kmalloc(dev, DLN2_I2C_BUF_SIZE, GFP_KERNEL);
dln2              199 drivers/i2c/busses/i2c-dln2.c 	if (!dln2->buf)
dln2              202 drivers/i2c/busses/i2c-dln2.c 	dln2->pdev = pdev;
dln2              203 drivers/i2c/busses/i2c-dln2.c 	dln2->port = pdata->port;
dln2              206 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.owner = THIS_MODULE;
dln2              207 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.class = I2C_CLASS_HWMON;
dln2              208 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.algo = &dln2_i2c_usb_algorithm;
dln2              209 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.quirks = &dln2_i2c_quirks;
dln2              210 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.dev.parent = dev;
dln2              211 drivers/i2c/busses/i2c-dln2.c 	ACPI_COMPANION_SET(&dln2->adapter.dev, ACPI_COMPANION(&pdev->dev));
dln2              212 drivers/i2c/busses/i2c-dln2.c 	dln2->adapter.dev.of_node = dev->of_node;
dln2              213 drivers/i2c/busses/i2c-dln2.c 	i2c_set_adapdata(&dln2->adapter, dln2);
dln2              214 drivers/i2c/busses/i2c-dln2.c 	snprintf(dln2->adapter.name, sizeof(dln2->adapter.name), "%s-%s-%d",
dln2              215 drivers/i2c/busses/i2c-dln2.c 		 "dln2-i2c", dev_name(pdev->dev.parent), dln2->port);
dln2              217 drivers/i2c/busses/i2c-dln2.c 	platform_set_drvdata(pdev, dln2);
dln2              220 drivers/i2c/busses/i2c-dln2.c 	ret = dln2_i2c_enable(dln2, true);
dln2              227 drivers/i2c/busses/i2c-dln2.c 	ret = i2c_add_adapter(&dln2->adapter);
dln2              234 drivers/i2c/busses/i2c-dln2.c 	dln2_i2c_enable(dln2, false);
dln2              241 drivers/i2c/busses/i2c-dln2.c 	struct dln2_i2c *dln2 = platform_get_drvdata(pdev);
dln2              243 drivers/i2c/busses/i2c-dln2.c 	i2c_del_adapter(&dln2->adapter);
dln2              244 drivers/i2c/busses/i2c-dln2.c 	dln2_i2c_enable(dln2, false);
dln2               83 drivers/iio/adc/dln2-adc.c static void dln2_adc_add_demux(struct dln2_adc *dln2,
dln2               87 drivers/iio/adc/dln2-adc.c 	struct dln2_adc_demux_table *p = dln2->demux_count ?
dln2               88 drivers/iio/adc/dln2-adc.c 		&dln2->demux[dln2->demux_count - 1] : NULL;
dln2               93 drivers/iio/adc/dln2-adc.c 	} else if (dln2->demux_count < DLN2_ADC_MAX_CHANNELS) {
dln2               94 drivers/iio/adc/dln2-adc.c 		p = &dln2->demux[dln2->demux_count++];
dln2              101 drivers/iio/adc/dln2-adc.c static void dln2_adc_update_demux(struct dln2_adc *dln2)
dln2              105 drivers/iio/adc/dln2-adc.c 	struct iio_dev *indio_dev = platform_get_drvdata(dln2->pdev);
dln2              108 drivers/iio/adc/dln2-adc.c 	dln2->demux_count = 0;
dln2              113 drivers/iio/adc/dln2-adc.c 		dln2_adc_add_demux(dln2, 0, 0, 16);
dln2              114 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_offset = 0;
dln2              115 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_length = 0;
dln2              128 drivers/iio/adc/dln2-adc.c 		dln2_adc_add_demux(dln2, in_loc, out_loc, 2);
dln2              136 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_offset = out_loc;
dln2              137 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_length = ts_offset * sizeof(int64_t) - out_loc;
dln2              139 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_offset = 0;
dln2              140 drivers/iio/adc/dln2-adc.c 		dln2->ts_pad_length = 0;
dln2              144 drivers/iio/adc/dln2-adc.c static int dln2_adc_get_chan_count(struct dln2_adc *dln2)
dln2              147 drivers/iio/adc/dln2-adc.c 	u8 port = dln2->port;
dln2              151 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer(dln2->pdev, DLN2_ADC_GET_CHANNEL_COUNT,
dln2              154 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              163 drivers/iio/adc/dln2-adc.c static int dln2_adc_set_port_resolution(struct dln2_adc *dln2)
dln2              167 drivers/iio/adc/dln2-adc.c 		.port = dln2->port,
dln2              171 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer_tx(dln2->pdev, DLN2_ADC_SET_RESOLUTION,
dln2              174 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              179 drivers/iio/adc/dln2-adc.c static int dln2_adc_set_chan_enabled(struct dln2_adc *dln2,
dln2              184 drivers/iio/adc/dln2-adc.c 		.port = dln2->port,
dln2              189 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer_tx(dln2->pdev, cmd, &port_chan, sizeof(port_chan));
dln2              191 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              196 drivers/iio/adc/dln2-adc.c static int dln2_adc_set_port_enabled(struct dln2_adc *dln2, bool enable,
dln2              200 drivers/iio/adc/dln2-adc.c 	u8 port = dln2->port;
dln2              208 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer(dln2->pdev, cmd, &port, sizeof(port),
dln2              211 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s(%d)\n",
dln2              223 drivers/iio/adc/dln2-adc.c static int dln2_adc_set_chan_period(struct dln2_adc *dln2,
dln2              234 drivers/iio/adc/dln2-adc.c 		.port_chan.port = dln2->port,
dln2              240 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer_tx(dln2->pdev, DLN2_ADC_CHANNEL_SET_CFG,
dln2              243 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              248 drivers/iio/adc/dln2-adc.c static int dln2_adc_read(struct dln2_adc *dln2, unsigned int channel)
dln2              251 drivers/iio/adc/dln2-adc.c 	struct iio_dev *indio_dev = platform_get_drvdata(dln2->pdev);
dln2              256 drivers/iio/adc/dln2-adc.c 		.port = dln2->port,
dln2              264 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_set_chan_enabled(dln2, channel, true);
dln2              268 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_set_port_enabled(dln2, true, &conflict);
dln2              271 drivers/iio/adc/dln2-adc.c 			dev_err(&dln2->pdev->dev,
dln2              284 drivers/iio/adc/dln2-adc.c 		ret = dln2_transfer(dln2->pdev, DLN2_ADC_CHANNEL_GET_VAL,
dln2              288 drivers/iio/adc/dln2-adc.c 			dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              300 drivers/iio/adc/dln2-adc.c 	dln2_adc_set_port_enabled(dln2, false, NULL);
dln2              302 drivers/iio/adc/dln2-adc.c 	dln2_adc_set_chan_enabled(dln2, channel, false);
dln2              309 drivers/iio/adc/dln2-adc.c static int dln2_adc_read_all(struct dln2_adc *dln2,
dln2              313 drivers/iio/adc/dln2-adc.c 	__u8 port = dln2->port;
dln2              316 drivers/iio/adc/dln2-adc.c 	ret = dln2_transfer(dln2->pdev, DLN2_ADC_CHANNEL_GET_ALL_VAL,
dln2              319 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              336 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              340 drivers/iio/adc/dln2-adc.c 		mutex_lock(&dln2->mutex);
dln2              341 drivers/iio/adc/dln2-adc.c 		ret = dln2_adc_read(dln2, chan->channel);
dln2              342 drivers/iio/adc/dln2-adc.c 		mutex_unlock(&dln2->mutex);
dln2              360 drivers/iio/adc/dln2-adc.c 		if (dln2->sample_period) {
dln2              361 drivers/iio/adc/dln2-adc.c 			microhertz = 1000000000 / dln2->sample_period;
dln2              384 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              390 drivers/iio/adc/dln2-adc.c 		mutex_lock(&dln2->mutex);
dln2              392 drivers/iio/adc/dln2-adc.c 		dln2->sample_period =
dln2              394 drivers/iio/adc/dln2-adc.c 		if (dln2->sample_period > 65535) {
dln2              395 drivers/iio/adc/dln2-adc.c 			dln2->sample_period = 65535;
dln2              396 drivers/iio/adc/dln2-adc.c 			dev_warn(&dln2->pdev->dev,
dln2              407 drivers/iio/adc/dln2-adc.c 		if (dln2->trigger_chan != -1)
dln2              408 drivers/iio/adc/dln2-adc.c 			ret = dln2_adc_set_chan_period(dln2,
dln2              409 drivers/iio/adc/dln2-adc.c 				dln2->trigger_chan, dln2->sample_period);
dln2              413 drivers/iio/adc/dln2-adc.c 		mutex_unlock(&dln2->mutex);
dln2              425 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              429 drivers/iio/adc/dln2-adc.c 	mutex_lock(&dln2->mutex);
dln2              432 drivers/iio/adc/dln2-adc.c 		ret = dln2_adc_set_chan_enabled(dln2, i,
dln2              436 drivers/iio/adc/dln2-adc.c 				dln2_adc_set_chan_enabled(dln2, j, false);
dln2              437 drivers/iio/adc/dln2-adc.c 			mutex_unlock(&dln2->mutex);
dln2              438 drivers/iio/adc/dln2-adc.c 			dev_err(&dln2->pdev->dev,
dln2              444 drivers/iio/adc/dln2-adc.c 	dln2_adc_update_demux(dln2);
dln2              446 drivers/iio/adc/dln2-adc.c 	mutex_unlock(&dln2->mutex);
dln2              490 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              494 drivers/iio/adc/dln2-adc.c 	mutex_lock(&dln2->mutex);
dln2              495 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_read_all(dln2, &dev_data);
dln2              496 drivers/iio/adc/dln2-adc.c 	mutex_unlock(&dln2->mutex);
dln2              501 drivers/iio/adc/dln2-adc.c 	for (i = 0; i < dln2->demux_count; ++i) {
dln2              502 drivers/iio/adc/dln2-adc.c 		t = &dln2->demux[i];
dln2              508 drivers/iio/adc/dln2-adc.c 	if (dln2->ts_pad_length)
dln2              509 drivers/iio/adc/dln2-adc.c 		memset((void *)data.values + dln2->ts_pad_offset,
dln2              510 drivers/iio/adc/dln2-adc.c 		       0, dln2->ts_pad_length);
dln2              523 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              531 drivers/iio/adc/dln2-adc.c 	mutex_lock(&dln2->mutex);
dln2              534 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_set_port_enabled(dln2, true, &conflict);
dln2              536 drivers/iio/adc/dln2-adc.c 		mutex_unlock(&dln2->mutex);
dln2              537 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              539 drivers/iio/adc/dln2-adc.c 			dev_err(&dln2->pdev->dev,
dln2              552 drivers/iio/adc/dln2-adc.c 		dln2->trigger_chan = trigger_chan;
dln2              553 drivers/iio/adc/dln2-adc.c 		ret = dln2_adc_set_chan_period(dln2, dln2->trigger_chan,
dln2              554 drivers/iio/adc/dln2-adc.c 					       dln2->sample_period);
dln2              555 drivers/iio/adc/dln2-adc.c 		mutex_unlock(&dln2->mutex);
dln2              557 drivers/iio/adc/dln2-adc.c 			dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              562 drivers/iio/adc/dln2-adc.c 		dln2->trigger_chan = -1;
dln2              563 drivers/iio/adc/dln2-adc.c 		mutex_unlock(&dln2->mutex);
dln2              572 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              574 drivers/iio/adc/dln2-adc.c 	mutex_lock(&dln2->mutex);
dln2              577 drivers/iio/adc/dln2-adc.c 	if (dln2->trigger_chan != -1) {
dln2              578 drivers/iio/adc/dln2-adc.c 		dln2_adc_set_chan_period(dln2, dln2->trigger_chan, 0);
dln2              579 drivers/iio/adc/dln2-adc.c 		dln2->trigger_chan = -1;
dln2              583 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_set_port_enabled(dln2, false, NULL);
dln2              585 drivers/iio/adc/dln2-adc.c 	mutex_unlock(&dln2->mutex);
dln2              587 drivers/iio/adc/dln2-adc.c 		dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__);
dln2              605 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2 = iio_priv(indio_dev);
dln2              608 drivers/iio/adc/dln2-adc.c 	iio_trigger_poll(dln2->trig);
dln2              614 drivers/iio/adc/dln2-adc.c 	struct dln2_adc *dln2;
dln2              619 drivers/iio/adc/dln2-adc.c 	indio_dev = devm_iio_device_alloc(dev, sizeof(*dln2));
dln2              625 drivers/iio/adc/dln2-adc.c 	dln2 = iio_priv(indio_dev);
dln2              626 drivers/iio/adc/dln2-adc.c 	dln2->pdev = pdev;
dln2              627 drivers/iio/adc/dln2-adc.c 	dln2->port = pdata->port;
dln2              628 drivers/iio/adc/dln2-adc.c 	dln2->trigger_chan = -1;
dln2              629 drivers/iio/adc/dln2-adc.c 	mutex_init(&dln2->mutex);
dln2              633 drivers/iio/adc/dln2-adc.c 	ret = dln2_adc_set_port_resolution(dln2);
dln2              639 drivers/iio/adc/dln2-adc.c 	chans = dln2_adc_get_chan_count(dln2);
dln2              651 drivers/iio/adc/dln2-adc.c 		DLN2_ADC_CHAN(dln2->iio_channels[i], i)
dln2              652 drivers/iio/adc/dln2-adc.c 	IIO_CHAN_SOFT_TIMESTAMP_ASSIGN(dln2->iio_channels[i], i);
dln2              658 drivers/iio/adc/dln2-adc.c 	indio_dev->channels = dln2->iio_channels;
dln2              662 drivers/iio/adc/dln2-adc.c 	dln2->trig = devm_iio_trigger_alloc(dev, "%s-dev%d",
dln2              664 drivers/iio/adc/dln2-adc.c 	if (!dln2->trig) {
dln2              668 drivers/iio/adc/dln2-adc.c 	iio_trigger_set_drvdata(dln2->trig, dln2);
dln2              669 drivers/iio/adc/dln2-adc.c 	devm_iio_trigger_register(dev, dln2->trig);
dln2              670 drivers/iio/adc/dln2-adc.c 	iio_trigger_set_immutable(indio_dev, dln2->trig);
dln2              128 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = dev_get_drvdata(pdev->dev.parent);
dln2              141 drivers/mfd/dln2.c 	spin_lock_irqsave(&dln2->event_cb_lock, flags);
dln2              143 drivers/mfd/dln2.c 	list_for_each_entry(i, &dln2->event_cb_list, list) {
dln2              151 drivers/mfd/dln2.c 		list_add_rcu(&entry->list, &dln2->event_cb_list);
dln2              153 drivers/mfd/dln2.c 	spin_unlock_irqrestore(&dln2->event_cb_lock, flags);
dln2              164 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = dev_get_drvdata(pdev->dev.parent);
dln2              169 drivers/mfd/dln2.c 	spin_lock_irqsave(&dln2->event_cb_lock, flags);
dln2              171 drivers/mfd/dln2.c 	list_for_each_entry(i, &dln2->event_cb_list, list) {
dln2              179 drivers/mfd/dln2.c 	spin_unlock_irqrestore(&dln2->event_cb_lock, flags);
dln2              193 drivers/mfd/dln2.c static bool dln2_transfer_complete(struct dln2_dev *dln2, struct urb *urb,
dln2              196 drivers/mfd/dln2.c 	struct device *dev = &dln2->interface->dev;
dln2              197 drivers/mfd/dln2.c 	struct dln2_mod_rx_slots *rxs = &dln2->mod_rx_slots[handle];
dln2              222 drivers/mfd/dln2.c static void dln2_run_event_callbacks(struct dln2_dev *dln2, u16 id, u16 echo,
dln2              229 drivers/mfd/dln2.c 	list_for_each_entry_rcu(i, &dln2->event_cb_list, list) {
dln2              241 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = urb->context;
dln2              243 drivers/mfd/dln2.c 	struct device *dev = &dln2->interface->dev;
dln2              290 drivers/mfd/dln2.c 		dln2_run_event_callbacks(dln2, id, echo, data, len);
dln2              293 drivers/mfd/dln2.c 		if (dln2_transfer_complete(dln2, urb, handle, echo))
dln2              328 drivers/mfd/dln2.c static int dln2_send_wait(struct dln2_dev *dln2, u16 handle, u16 cmd, u16 echo,
dln2              340 drivers/mfd/dln2.c 	ret = usb_bulk_msg(dln2->usb_dev,
dln2              341 drivers/mfd/dln2.c 			   usb_sndbulkpipe(dln2->usb_dev, dln2->ep_out),
dln2              349 drivers/mfd/dln2.c static bool find_free_slot(struct dln2_dev *dln2, u16 handle, int *slot)
dln2              354 drivers/mfd/dln2.c 	if (dln2->disconnect) {
dln2              359 drivers/mfd/dln2.c 	rxs = &dln2->mod_rx_slots[handle];
dln2              377 drivers/mfd/dln2.c static int alloc_rx_slot(struct dln2_dev *dln2, u16 handle)
dln2              386 drivers/mfd/dln2.c 	ret = wait_event_interruptible(dln2->mod_rx_slots[handle].wq,
dln2              387 drivers/mfd/dln2.c 				       find_free_slot(dln2, handle, &slot));
dln2              394 drivers/mfd/dln2.c static void free_rx_slot(struct dln2_dev *dln2, u16 handle, int slot)
dln2              401 drivers/mfd/dln2.c 	rxs = &dln2->mod_rx_slots[handle];
dln2              417 drivers/mfd/dln2.c 		struct device *dev = &dln2->interface->dev;
dln2              427 drivers/mfd/dln2.c static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd,
dln2              435 drivers/mfd/dln2.c 	struct device *dev = &dln2->interface->dev;
dln2              437 drivers/mfd/dln2.c 	struct dln2_mod_rx_slots *rxs = &dln2->mod_rx_slots[handle];
dln2              440 drivers/mfd/dln2.c 	spin_lock(&dln2->disconnect_lock);
dln2              441 drivers/mfd/dln2.c 	if (!dln2->disconnect)
dln2              442 drivers/mfd/dln2.c 		dln2->active_transfers++;
dln2              445 drivers/mfd/dln2.c 	spin_unlock(&dln2->disconnect_lock);
dln2              450 drivers/mfd/dln2.c 	rx_slot = alloc_rx_slot(dln2, handle);
dln2              456 drivers/mfd/dln2.c 	ret = dln2_send_wait(dln2, handle, cmd, rx_slot, obuf, obuf_len);
dln2              473 drivers/mfd/dln2.c 	if (dln2->disconnect) {
dln2              503 drivers/mfd/dln2.c 	free_rx_slot(dln2, handle, rx_slot);
dln2              505 drivers/mfd/dln2.c 	spin_lock(&dln2->disconnect_lock);
dln2              506 drivers/mfd/dln2.c 	dln2->active_transfers--;
dln2              507 drivers/mfd/dln2.c 	spin_unlock(&dln2->disconnect_lock);
dln2              508 drivers/mfd/dln2.c 	if (dln2->disconnect)
dln2              509 drivers/mfd/dln2.c 		wake_up(&dln2->disconnect_wq);
dln2              519 drivers/mfd/dln2.c 	struct dln2_dev *dln2;
dln2              522 drivers/mfd/dln2.c 	dln2 = dev_get_drvdata(pdev->dev.parent);
dln2              526 drivers/mfd/dln2.c 	return _dln2_transfer(dln2, handle, cmd, obuf, obuf_len, ibuf,
dln2              531 drivers/mfd/dln2.c static int dln2_check_hw(struct dln2_dev *dln2)
dln2              537 drivers/mfd/dln2.c 	ret = _dln2_transfer(dln2, DLN2_HANDLE_CTRL, CMD_GET_DEVICE_VER,
dln2              545 drivers/mfd/dln2.c 		dev_err(&dln2->interface->dev, "Device ID 0x%x not supported\n",
dln2              553 drivers/mfd/dln2.c static int dln2_print_serialno(struct dln2_dev *dln2)
dln2              558 drivers/mfd/dln2.c 	struct device *dev = &dln2->interface->dev;
dln2              560 drivers/mfd/dln2.c 	ret = _dln2_transfer(dln2, DLN2_HANDLE_CTRL, CMD_GET_DEVICE_SN, NULL, 0,
dln2              572 drivers/mfd/dln2.c static int dln2_hw_init(struct dln2_dev *dln2)
dln2              576 drivers/mfd/dln2.c 	ret = dln2_check_hw(dln2);
dln2              580 drivers/mfd/dln2.c 	return dln2_print_serialno(dln2);
dln2              583 drivers/mfd/dln2.c static void dln2_free_rx_urbs(struct dln2_dev *dln2)
dln2              588 drivers/mfd/dln2.c 		usb_free_urb(dln2->rx_urb[i]);
dln2              589 drivers/mfd/dln2.c 		kfree(dln2->rx_buf[i]);
dln2              593 drivers/mfd/dln2.c static void dln2_stop_rx_urbs(struct dln2_dev *dln2)
dln2              598 drivers/mfd/dln2.c 		usb_kill_urb(dln2->rx_urb[i]);
dln2              601 drivers/mfd/dln2.c static void dln2_free(struct dln2_dev *dln2)
dln2              603 drivers/mfd/dln2.c 	dln2_free_rx_urbs(dln2);
dln2              604 drivers/mfd/dln2.c 	usb_put_dev(dln2->usb_dev);
dln2              605 drivers/mfd/dln2.c 	kfree(dln2);
dln2              608 drivers/mfd/dln2.c static int dln2_setup_rx_urbs(struct dln2_dev *dln2,
dln2              615 drivers/mfd/dln2.c 		dln2->rx_buf[i] = kmalloc(rx_max_size, GFP_KERNEL);
dln2              616 drivers/mfd/dln2.c 		if (!dln2->rx_buf[i])
dln2              619 drivers/mfd/dln2.c 		dln2->rx_urb[i] = usb_alloc_urb(0, GFP_KERNEL);
dln2              620 drivers/mfd/dln2.c 		if (!dln2->rx_urb[i])
dln2              623 drivers/mfd/dln2.c 		usb_fill_bulk_urb(dln2->rx_urb[i], dln2->usb_dev,
dln2              624 drivers/mfd/dln2.c 				  usb_rcvbulkpipe(dln2->usb_dev, dln2->ep_in),
dln2              625 drivers/mfd/dln2.c 				  dln2->rx_buf[i], rx_max_size, dln2_rx, dln2);
dln2              631 drivers/mfd/dln2.c static int dln2_start_rx_urbs(struct dln2_dev *dln2, gfp_t gfp)
dln2              633 drivers/mfd/dln2.c 	struct device *dev = &dln2->interface->dev;
dln2              638 drivers/mfd/dln2.c 		ret = usb_submit_urb(dln2->rx_urb[i], gfp);
dln2              682 drivers/mfd/dln2.c static void dln2_stop(struct dln2_dev *dln2)
dln2              687 drivers/mfd/dln2.c 	spin_lock(&dln2->disconnect_lock);
dln2              688 drivers/mfd/dln2.c 	dln2->disconnect = true;
dln2              689 drivers/mfd/dln2.c 	spin_unlock(&dln2->disconnect_lock);
dln2              693 drivers/mfd/dln2.c 		struct dln2_mod_rx_slots *rxs = &dln2->mod_rx_slots[i];
dln2              710 drivers/mfd/dln2.c 	wait_event(dln2->disconnect_wq, !dln2->active_transfers);
dln2              712 drivers/mfd/dln2.c 	dln2_stop_rx_urbs(dln2);
dln2              717 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = usb_get_intfdata(interface);
dln2              719 drivers/mfd/dln2.c 	dln2_stop(dln2);
dln2              723 drivers/mfd/dln2.c 	dln2_free(dln2);
dln2              733 drivers/mfd/dln2.c 	struct dln2_dev *dln2;
dln2              748 drivers/mfd/dln2.c 	dln2 = kzalloc(sizeof(*dln2), GFP_KERNEL);
dln2              749 drivers/mfd/dln2.c 	if (!dln2)
dln2              752 drivers/mfd/dln2.c 	dln2->ep_out = epout->bEndpointAddress;
dln2              753 drivers/mfd/dln2.c 	dln2->ep_in = epin->bEndpointAddress;
dln2              754 drivers/mfd/dln2.c 	dln2->usb_dev = usb_get_dev(interface_to_usbdev(interface));
dln2              755 drivers/mfd/dln2.c 	dln2->interface = interface;
dln2              756 drivers/mfd/dln2.c 	usb_set_intfdata(interface, dln2);
dln2              757 drivers/mfd/dln2.c 	init_waitqueue_head(&dln2->disconnect_wq);
dln2              760 drivers/mfd/dln2.c 		init_waitqueue_head(&dln2->mod_rx_slots[i].wq);
dln2              761 drivers/mfd/dln2.c 		spin_lock_init(&dln2->mod_rx_slots[i].lock);
dln2              763 drivers/mfd/dln2.c 			init_completion(&dln2->mod_rx_slots[i].slots[j].done);
dln2              766 drivers/mfd/dln2.c 	spin_lock_init(&dln2->event_cb_lock);
dln2              767 drivers/mfd/dln2.c 	spin_lock_init(&dln2->disconnect_lock);
dln2              768 drivers/mfd/dln2.c 	INIT_LIST_HEAD(&dln2->event_cb_list);
dln2              770 drivers/mfd/dln2.c 	ret = dln2_setup_rx_urbs(dln2, hostif);
dln2              774 drivers/mfd/dln2.c 	ret = dln2_start_rx_urbs(dln2, GFP_KERNEL);
dln2              778 drivers/mfd/dln2.c 	ret = dln2_hw_init(dln2);
dln2              793 drivers/mfd/dln2.c 	dln2_stop_rx_urbs(dln2);
dln2              796 drivers/mfd/dln2.c 	dln2_free(dln2);
dln2              803 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = usb_get_intfdata(iface);
dln2              805 drivers/mfd/dln2.c 	dln2_stop(dln2);
dln2              812 drivers/mfd/dln2.c 	struct dln2_dev *dln2 = usb_get_intfdata(iface);
dln2              814 drivers/mfd/dln2.c 	dln2->disconnect = false;
dln2              816 drivers/mfd/dln2.c 	return dln2_start_rx_urbs(dln2, GFP_NOIO);
dln2              101 drivers/spi/spi-dln2.c static int dln2_spi_enable(struct dln2_spi *dln2, bool enable)
dln2              110 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              120 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, cmd, &tx, len);
dln2              131 drivers/spi/spi-dln2.c static int dln2_spi_cs_set(struct dln2_spi *dln2, u8 cs_mask)
dln2              138 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              147 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_SPI_SET_SS, &tx, sizeof(tx));
dln2              153 drivers/spi/spi-dln2.c static int dln2_spi_cs_set_one(struct dln2_spi *dln2, u8 cs)
dln2              155 drivers/spi/spi-dln2.c 	return dln2_spi_cs_set(dln2, BIT(cs));
dln2              161 drivers/spi/spi-dln2.c static int dln2_spi_cs_enable(struct dln2_spi *dln2, u8 cs_mask, bool enable)
dln2              169 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              173 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, cmd, &tx, sizeof(tx));
dln2              176 drivers/spi/spi-dln2.c static int dln2_spi_cs_enable_all(struct dln2_spi *dln2, bool enable)
dln2              178 drivers/spi/spi-dln2.c 	u8 cs_mask = GENMASK(dln2->master->num_chipselect - 1, 0);
dln2              180 drivers/spi/spi-dln2.c 	return dln2_spi_cs_enable(dln2, cs_mask, enable);
dln2              183 drivers/spi/spi-dln2.c static int dln2_spi_get_cs_num(struct dln2_spi *dln2, u16 *cs_num)
dln2              194 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              195 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_SPI_GET_SS_COUNT, &tx, sizeof(tx),
dln2              204 drivers/spi/spi-dln2.c 	dev_dbg(&dln2->pdev->dev, "cs_num = %d\n", *cs_num);
dln2              209 drivers/spi/spi-dln2.c static int dln2_spi_get_speed(struct dln2_spi *dln2, u16 cmd, u32 *freq)
dln2              220 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              222 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, cmd, &tx, sizeof(tx), &rx, &rx_len);
dln2              236 drivers/spi/spi-dln2.c static int dln2_spi_get_speed_range(struct dln2_spi *dln2, u32 *fmin, u32 *fmax)
dln2              240 drivers/spi/spi-dln2.c 	ret = dln2_spi_get_speed(dln2, DLN2_SPI_GET_MIN_FREQUENCY, fmin);
dln2              244 drivers/spi/spi-dln2.c 	ret = dln2_spi_get_speed(dln2, DLN2_SPI_GET_MAX_FREQUENCY, fmax);
dln2              248 drivers/spi/spi-dln2.c 	dev_dbg(&dln2->pdev->dev, "freq_min = %d, freq_max = %d\n",
dln2              258 drivers/spi/spi-dln2.c static int dln2_spi_set_speed(struct dln2_spi *dln2, u32 speed)
dln2              270 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              273 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_SPI_SET_FREQUENCY, &tx, sizeof(tx),
dln2              286 drivers/spi/spi-dln2.c static int dln2_spi_set_mode(struct dln2_spi *dln2, u8 mode)
dln2              293 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              296 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_SPI_SET_MODE, &tx, sizeof(tx));
dln2              302 drivers/spi/spi-dln2.c static int dln2_spi_set_bpw(struct dln2_spi *dln2, u8 bpw)
dln2              309 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              312 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_SPI_SET_FRAME_SIZE,
dln2              316 drivers/spi/spi-dln2.c static int dln2_spi_get_supported_frame_sizes(struct dln2_spi *dln2,
dln2              326 drivers/spi/spi-dln2.c 	} *rx = dln2->buf;
dln2              330 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              332 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_SPI_GET_SUPPORTED_FRAME_SIZES,
dln2              345 drivers/spi/spi-dln2.c 	dev_dbg(&dln2->pdev->dev, "bpw_mask = 0x%X\n", *bpw_mask);
dln2              418 drivers/spi/spi-dln2.c static int dln2_spi_write_one(struct dln2_spi *dln2, const u8 *data,
dln2              426 drivers/spi/spi-dln2.c 	} __packed *tx = dln2->buf;
dln2              434 drivers/spi/spi-dln2.c 	tx->port = dln2->port;
dln2              438 drivers/spi/spi-dln2.c 	dln2_spi_copy_to_buf(tx->buf, data, data_len, dln2->bpw);
dln2              441 drivers/spi/spi-dln2.c 	return dln2_transfer_tx(dln2->pdev, DLN2_SPI_WRITE, tx, tx_len);
dln2              447 drivers/spi/spi-dln2.c static int dln2_spi_read_one(struct dln2_spi *dln2, u8 *data,
dln2              459 drivers/spi/spi-dln2.c 	} __packed *rx = dln2->buf;
dln2              467 drivers/spi/spi-dln2.c 	tx.port = dln2->port;
dln2              471 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_SPI_READ, &tx, sizeof(tx),
dln2              480 drivers/spi/spi-dln2.c 	dln2_spi_copy_from_buf(data, rx->buf, data_len, dln2->bpw);
dln2              488 drivers/spi/spi-dln2.c static int dln2_spi_read_write_one(struct dln2_spi *dln2, const u8 *tx_data,
dln2              515 drivers/spi/spi-dln2.c 	tx = dln2->buf;
dln2              516 drivers/spi/spi-dln2.c 	rx = dln2->buf;
dln2              518 drivers/spi/spi-dln2.c 	tx->port = dln2->port;
dln2              522 drivers/spi/spi-dln2.c 	dln2_spi_copy_to_buf(tx->buf, tx_data, data_len, dln2->bpw);
dln2              527 drivers/spi/spi-dln2.c 	ret = dln2_transfer(dln2->pdev, DLN2_SPI_READ_WRITE, tx, tx_len,
dln2              536 drivers/spi/spi-dln2.c 	dln2_spi_copy_from_buf(rx_data, rx->buf, data_len, dln2->bpw);
dln2              545 drivers/spi/spi-dln2.c static int dln2_spi_rdwr(struct dln2_spi *dln2, const u8 *tx_data,
dln2              565 drivers/spi/spi-dln2.c 			ret = dln2_spi_read_write_one(dln2,
dln2              570 drivers/spi/spi-dln2.c 			ret = dln2_spi_write_one(dln2,
dln2              574 drivers/spi/spi-dln2.c 			ret = dln2_spi_read_one(dln2,
dln2              594 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              597 drivers/spi/spi-dln2.c 	if (dln2->cs != spi->chip_select) {
dln2              598 drivers/spi/spi-dln2.c 		ret = dln2_spi_cs_set_one(dln2, spi->chip_select);
dln2              602 drivers/spi/spi-dln2.c 		dln2->cs = spi->chip_select;
dln2              608 drivers/spi/spi-dln2.c static int dln2_spi_transfer_setup(struct dln2_spi *dln2, u32 speed,
dln2              614 drivers/spi/spi-dln2.c 	bus_setup_change = dln2->speed != speed || dln2->mode != mode ||
dln2              615 drivers/spi/spi-dln2.c 			   dln2->bpw != bpw;
dln2              620 drivers/spi/spi-dln2.c 	ret = dln2_spi_enable(dln2, false);
dln2              624 drivers/spi/spi-dln2.c 	if (dln2->speed != speed) {
dln2              625 drivers/spi/spi-dln2.c 		ret = dln2_spi_set_speed(dln2, speed);
dln2              629 drivers/spi/spi-dln2.c 		dln2->speed = speed;
dln2              632 drivers/spi/spi-dln2.c 	if (dln2->mode != mode) {
dln2              633 drivers/spi/spi-dln2.c 		ret = dln2_spi_set_mode(dln2, mode & 0x3);
dln2              637 drivers/spi/spi-dln2.c 		dln2->mode = mode;
dln2              640 drivers/spi/spi-dln2.c 	if (dln2->bpw != bpw) {
dln2              641 drivers/spi/spi-dln2.c 		ret = dln2_spi_set_bpw(dln2, bpw);
dln2              645 drivers/spi/spi-dln2.c 		dln2->bpw = bpw;
dln2              648 drivers/spi/spi-dln2.c 	return dln2_spi_enable(dln2, true);
dln2              655 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              659 drivers/spi/spi-dln2.c 	status = dln2_spi_transfer_setup(dln2, xfer->speed_hz,
dln2              663 drivers/spi/spi-dln2.c 		dev_err(&dln2->pdev->dev, "Cannot setup transfer\n");
dln2              670 drivers/spi/spi-dln2.c 	status = dln2_spi_rdwr(dln2, xfer->tx_buf, xfer->rx_buf,
dln2              673 drivers/spi/spi-dln2.c 		dev_err(&dln2->pdev->dev, "write/read failed!\n");
dln2              681 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2;
dln2              686 drivers/spi/spi-dln2.c 	master = spi_alloc_master(&pdev->dev, sizeof(*dln2));
dln2              692 drivers/spi/spi-dln2.c 	dln2 = spi_master_get_devdata(master);
dln2              694 drivers/spi/spi-dln2.c 	dln2->buf = devm_kmalloc(&pdev->dev, DLN2_SPI_BUF_SIZE, GFP_KERNEL);
dln2              695 drivers/spi/spi-dln2.c 	if (!dln2->buf) {
dln2              700 drivers/spi/spi-dln2.c 	dln2->master = master;
dln2              701 drivers/spi/spi-dln2.c 	dln2->master->dev.of_node = dev->of_node;
dln2              702 drivers/spi/spi-dln2.c 	dln2->pdev = pdev;
dln2              703 drivers/spi/spi-dln2.c 	dln2->port = pdata->port;
dln2              705 drivers/spi/spi-dln2.c 	dln2->cs = 0xff;
dln2              706 drivers/spi/spi-dln2.c 	dln2->mode = 0xff;
dln2              709 drivers/spi/spi-dln2.c 	ret = dln2_spi_enable(dln2, false);
dln2              715 drivers/spi/spi-dln2.c 	ret = dln2_spi_get_cs_num(dln2, &master->num_chipselect);
dln2              721 drivers/spi/spi-dln2.c 	ret = dln2_spi_get_speed_range(dln2,
dln2              729 drivers/spi/spi-dln2.c 	ret = dln2_spi_get_supported_frame_sizes(dln2,
dln2              736 drivers/spi/spi-dln2.c 	ret = dln2_spi_cs_enable_all(dln2, true);
dln2              749 drivers/spi/spi-dln2.c 	ret = dln2_spi_enable(dln2, true);
dln2              773 drivers/spi/spi-dln2.c 	if (dln2_spi_enable(dln2, false) < 0)
dln2              784 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              788 drivers/spi/spi-dln2.c 	if (dln2_spi_enable(dln2, false) < 0)
dln2              799 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              806 drivers/spi/spi-dln2.c 		ret = dln2_spi_enable(dln2, false);
dln2              815 drivers/spi/spi-dln2.c 	dln2->cs = 0xff;
dln2              816 drivers/spi/spi-dln2.c 	dln2->speed = 0;
dln2              817 drivers/spi/spi-dln2.c 	dln2->bpw = 0;
dln2              818 drivers/spi/spi-dln2.c 	dln2->mode = 0xff;
dln2              827 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              830 drivers/spi/spi-dln2.c 		ret = dln2_spi_cs_enable_all(dln2, true);
dln2              834 drivers/spi/spi-dln2.c 		ret = dln2_spi_enable(dln2, true);
dln2              847 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              849 drivers/spi/spi-dln2.c 	return dln2_spi_enable(dln2, false);
dln2              855 drivers/spi/spi-dln2.c 	struct dln2_spi *dln2 = spi_master_get_devdata(master);
dln2              857 drivers/spi/spi-dln2.c 	return  dln2_spi_enable(dln2, true);