Home
last modified time | relevance | path

Searched refs:serdev (Results 1 – 25 of 39) sorted by relevance

12

/linux/drivers/tty/serdev/
H A Dcore.c62 struct serdev_device *serdev = to_serdev_device(dev); in serdev_device_release() local
63 kfree(serdev); in serdev_device_release()
104 int serdev_device_add(struct serdev_device *serdev) in serdev_device_add() argument
106 struct serdev_controller *ctrl = serdev->ctrl; in serdev_device_add()
107 struct device *parent = serdev->dev.parent; in serdev_device_add()
110 dev_set_name(&serdev->dev, "%s-%d", dev_name(parent), serdev->nr); in serdev_device_add()
113 if (ctrl->serdev) { in serdev_device_add()
114 dev_err(&serdev->dev, "controller busy\n"); in serdev_device_add()
117 ctrl->serdev = serdev; in serdev_device_add()
119 err = device_add(&serdev->dev); in serdev_device_add()
[all …]
H A DMakefile2 serdev-objs := core.o
4 obj-$(CONFIG_SERIAL_DEV_BUS) += serdev.o
6 obj-$(CONFIG_SERIAL_DEV_CTRL_TTYPORT) += serdev-ttyport.o
/linux/drivers/gnss/
H A Dserial.c25 struct serdev_device *serdev = gserial->serdev; in gnss_serial_open() local
28 ret = serdev_device_open(serdev); in gnss_serial_open()
32 serdev_device_set_baudrate(serdev, gserial->speed); in gnss_serial_open()
33 serdev_device_set_flow_control(serdev, false); in gnss_serial_open()
35 ret = pm_runtime_get_sync(&serdev->dev); in gnss_serial_open()
37 pm_runtime_put_noidle(&serdev->dev); in gnss_serial_open()
44 serdev_device_close(serdev); in gnss_serial_open()
52 struct serdev_device *serdev = gserial->serdev; in gnss_serial_close() local
54 serdev_device_close(serdev); in gnss_serial_close()
56 pm_runtime_put(&serdev->dev); in gnss_serial_close()
[all …]
H A Dsirf.c40 struct serdev_device *serdev; member
64 ret = serdev_device_open(data->serdev); in sirf_serdev_open()
70 serdev_device_set_baudrate(data->serdev, data->speed); in sirf_serdev_open()
71 serdev_device_set_flow_control(data->serdev, false); in sirf_serdev_open()
84 serdev_device_close(data->serdev); in sirf_serdev_close()
91 struct serdev_device *serdev = data->serdev; in sirf_open() local
106 ret = pm_runtime_get_sync(&serdev->dev); in sirf_open()
109 pm_runtime_put_noidle(&serdev->dev); in sirf_open()
128 struct serdev_device *serdev = data->serdev; in sirf_close() local
132 pm_runtime_put(&serdev->dev); in sirf_close()
[all …]
H A Dubx.c66 static int ubx_probe(struct serdev_device *serdev) in ubx_probe() argument
73 gserial = gnss_serial_allocate(serdev, sizeof(*data)); in ubx_probe()
85 data->vcc = devm_regulator_get(&serdev->dev, "vcc"); in ubx_probe()
91 ret = devm_regulator_get_enable_optional(&serdev->dev, "v-bckp"); in ubx_probe()
96 reset = devm_gpiod_get_optional(&serdev->dev, "reset", GPIOD_OUT_LOW); in ubx_probe()
114 static void ubx_remove(struct serdev_device *serdev) in ubx_remove() argument
116 struct gnss_serial *gserial = serdev_device_get_drvdata(serdev); in ubx_remove()
H A Dmtk.c66 static int mtk_probe(struct serdev_device *serdev) in mtk_probe() argument
72 gserial = gnss_serial_allocate(serdev, sizeof(*data)); in mtk_probe()
84 data->vcc = devm_regulator_get(&serdev->dev, "vcc"); in mtk_probe()
90 data->vbackup = devm_regulator_get_optional(&serdev->dev, "vbackup"); in mtk_probe()
120 static void mtk_remove(struct serdev_device *serdev) in mtk_remove() argument
122 struct gnss_serial *gserial = serdev_device_get_drvdata(serdev); in mtk_remove()
/linux/include/linux/
H A Dserdev.h111 struct serdev_device *serdev; member
120 static inline void *serdev_device_get_drvdata(const struct serdev_device *serdev) in serdev_device_get_drvdata() argument
122 return dev_get_drvdata(&serdev->dev); in serdev_device_get_drvdata()
125 static inline void serdev_device_set_drvdata(struct serdev_device *serdev, void *data) in serdev_device_set_drvdata() argument
127 dev_set_drvdata(&serdev->dev, data); in serdev_device_set_drvdata()
134 static inline void serdev_device_put(struct serdev_device *serdev) in serdev_device_put() argument
136 if (serdev) in serdev_device_put()
137 put_device(&serdev->dev); in serdev_device_put()
140 static inline void serdev_device_set_client_ops(struct serdev_device *serdev, in serdev_device_set_client_ops() argument
143 serdev->ops = ops; in serdev_device_set_client_ops()
[all …]
/linux/drivers/w1/masters/
H A Dw1-uart.c55 struct serdev_device *serdev; member
106 static int w1_uart_set_config(struct serdev_device *serdev, in w1_uart_set_config() argument
115 w1cfg->baudrate = serdev_device_set_baudrate(serdev, limits->baudrate); in w1_uart_set_config()
156 struct serdev_device *serdev = w1dev->serdev; in w1_uart_set_config_reset() local
157 struct device_node *np = serdev->dev.of_node; in w1_uart_set_config_reset()
167 return w1_uart_set_config(serdev, &limits, &w1dev->cfg_reset); in w1_uart_set_config_reset()
177 struct serdev_device *serdev = w1dev->serdev; in w1_uart_set_config_touch_0() local
178 struct device_node *np = serdev->dev.of_node; in w1_uart_set_config_touch_0()
188 return w1_uart_set_config(serdev, &limits, &w1dev->cfg_touch_0); in w1_uart_set_config_touch_0()
198 struct serdev_device *serdev = w1dev->serdev; in w1_uart_set_config_touch_1() local
[all …]
/linux/drivers/nfc/s3fwrn5/
H A Duart.c54 static size_t s3fwrn82_uart_read(struct serdev_device *serdev, in s3fwrn82_uart_read() argument
57 struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev); in s3fwrn82_uart_read()
91 static int s3fwrn82_uart_parse_dt(struct serdev_device *serdev) in s3fwrn82_uart_parse_dt() argument
93 struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev); in s3fwrn82_uart_parse_dt()
94 struct device_node *np = serdev->dev.of_node; in s3fwrn82_uart_parse_dt()
110 static int s3fwrn82_uart_probe(struct serdev_device *serdev) in s3fwrn82_uart_probe() argument
115 phy = devm_kzalloc(&serdev->dev, sizeof(*phy), GFP_KERNEL); in s3fwrn82_uart_probe()
126 phy->ser_dev = serdev; in s3fwrn82_uart_probe()
127 serdev_device_set_drvdata(serdev, phy); in s3fwrn82_uart_probe()
128 serdev_device_set_client_ops(serdev, &s3fwrn82_serdev_ops); in s3fwrn82_uart_probe()
[all …]
/linux/drivers/nfc/pn533/
H A Duart.c29 struct serdev_device *serdev; member
60 err = serdev_device_write(pn532->serdev, in pn532_uart_send_frame()
70 err = serdev_device_write(pn532->serdev, out->data, out->len, in pn532_uart_send_frame()
87 err = serdev_device_write(pn532->serdev, ack, sizeof(ack), in pn532_uart_send_ack()
108 ret = serdev_device_open(pn532->serdev); in pn532_dev_up()
120 serdev_device_close(pn532->serdev); in pn532_dev_down()
206 static size_t pn532_receive_buf(struct serdev_device *serdev, in pn532_receive_buf() argument
209 struct pn532_uart_phy *dev = serdev_device_get_drvdata(serdev); in pn532_receive_buf()
238 static int pn532_uart_probe(struct serdev_device *serdev) in pn532_uart_probe() argument
253 pn532->serdev = serdev; in pn532_uart_probe()
[all …]
/linux/drivers/iio/imu/bno055/
H A Dbno055_ser_core.c162 struct serdev_device *serdev; member
170 ret = serdev_device_write(priv->serdev, data, len, msecs_to_jiffies(25)); in bno055_ser_send_chunk()
291 dev_err(&priv->serdev->dev, "Invalid write count %zu", count); in bno055_ser_write_reg()
309 dev_err(&priv->serdev->dev, "Invalid read valsize %zu", val_size); in bno055_ser_read_reg()
341 dev_warn(&priv->serdev->dev, "received unexpected, yet valid, data from sensor"); in bno055_ser_handle_rx()
355 dev_warn(&priv->serdev->dev, in bno055_ser_handle_rx()
381 static size_t bno055_ser_receive_buf(struct serdev_device *serdev, in bno055_ser_receive_buf() argument
385 struct bno055_ser_priv *priv = serdev_device_get_drvdata(serdev); in bno055_ser_receive_buf()
399 dev_err(&priv->serdev->dev, in bno055_ser_receive_buf()
421 dev_err(&priv->serdev->dev, "EE pkt. Extra data received"); in bno055_ser_receive_buf()
[all …]
/linux/drivers/platform/surface/aggregator/
H A Dcore.c310 struct serdev_device *serdev = ctx; in ssam_serdev_setup_via_acpi_crs() local
319 serdev_device_set_baudrate(serdev, uart->default_baud_rate); in ssam_serdev_setup_via_acpi_crs()
323 dev_warn(&serdev->dev, "setup: unsupported flow control (value: %#04x)\n", in ssam_serdev_setup_via_acpi_crs()
329 serdev_device_set_flow_control(serdev, flow_control); in ssam_serdev_setup_via_acpi_crs()
334 status = serdev_device_set_parity(serdev, SERDEV_PARITY_NONE); in ssam_serdev_setup_via_acpi_crs()
337 status = serdev_device_set_parity(serdev, SERDEV_PARITY_EVEN); in ssam_serdev_setup_via_acpi_crs()
340 status = serdev_device_set_parity(serdev, SERDEV_PARITY_ODD); in ssam_serdev_setup_via_acpi_crs()
343 dev_warn(&serdev->dev, "setup: unsupported parity (value: %#04x)\n", in ssam_serdev_setup_via_acpi_crs()
349 dev_err(&serdev->dev, "setup: failed to set parity (value: %#04x, error: %d)\n", in ssam_serdev_setup_via_acpi_crs()
358 static int ssam_serdev_setup_via_acpi(struct serdev_device *serdev, acpi_handle handle) in ssam_serdev_setup_via_acpi() argument
[all …]
H A Dssh_packet_layer.h78 struct serdev_device *serdev; member
130 #define ptl_dbg(p, fmt, ...) dev_dbg(&(p)->serdev->dev, fmt, ##__VA_ARGS__)
131 #define ptl_info(p, fmt, ...) dev_info(&(p)->serdev->dev, fmt, ##__VA_ARGS__)
132 #define ptl_warn(p, fmt, ...) dev_warn(&(p)->serdev->dev, fmt, ##__VA_ARGS__)
133 #define ptl_err(p, fmt, ...) dev_err(&(p)->serdev->dev, fmt, ##__VA_ARGS__)
139 int ssh_ptl_init(struct ssh_ptl *ptl, struct serdev_device *serdev,
153 return ptl->serdev ? &ptl->serdev->dev : NULL; in ssh_ptl_get_device()
/linux/drivers/net/ethernet/qualcomm/
H A Dqca_uart.c39 struct serdev_device *serdev; member
49 qca_tty_receive(struct serdev_device *serdev, const u8 *data, size_t count) in qca_tty_receive() argument
51 struct qcauart *qca = serdev_device_get_drvdata(serdev); in qca_tty_receive()
136 written = serdev_device_write_buf(qca->serdev, qca->tx_head, in qcauart_transmit()
148 static void qca_tty_wakeup(struct serdev_device *serdev) in qca_tty_wakeup() argument
150 struct qcauart *qca = serdev_device_get_drvdata(serdev); in qca_tty_wakeup()
221 written = serdev_device_write_buf(qca->serdev, qca->tx_buffer, in qcauart_netdev_xmit()
256 qca->tx_buffer = devm_kmalloc(&qca->serdev->dev, len, GFP_KERNEL); in qcauart_netdev_init()
307 static int qca_uart_probe(struct serdev_device *serdev) in qca_uart_probe() argument
318 SET_NETDEV_DEV(qcauart_dev, &serdev->dev); in qca_uart_probe()
[all …]
/linux/sound/drivers/
H A Dserial-generic.c41 struct serdev_device *serdev; member
82 num_bytes = serdev_device_write_buf(drvdata->serdev, buf, num_bytes); in snd_serial_generic_tx_work()
96 static void snd_serial_generic_write_wakeup(struct serdev_device *serdev) in snd_serial_generic_write_wakeup() argument
98 struct snd_serial_generic *drvdata = serdev_device_get_drvdata(serdev); in snd_serial_generic_write_wakeup()
103 static size_t snd_serial_generic_receive_buf(struct serdev_device *serdev, in snd_serial_generic_receive_buf() argument
107 struct snd_serial_generic *drvdata = serdev_device_get_drvdata(serdev); in snd_serial_generic_receive_buf()
131 err = serdev_device_open(drvdata->serdev); in snd_serial_generic_ensure_serdev_open()
135 actual_baud = serdev_device_set_baudrate(drvdata->serdev, in snd_serial_generic_ensure_serdev_open()
175 serdev_device_close(drvdata->serdev); in snd_serial_generic_input_close()
219 serdev_device_close(drvdata->serdev); in snd_serial_generic_output_close()
[all …]
/linux/drivers/platform/x86/
H A Dlenovo-yoga-tab2-pro-1380-fastcharger.c136 static size_t yt2_1380_fc_receive(struct serdev_device *serdev, const u8 *data, size_t len) in yt2_1380_fc_receive() argument
142 dev_dbg(&serdev->dev, "recv: %*ph\n", (int)len, data); in yt2_1380_fc_receive()
151 static int yt2_1380_fc_serdev_probe(struct serdev_device *serdev) in yt2_1380_fc_serdev_probe() argument
153 struct device *dev = &serdev->dev; in yt2_1380_fc_serdev_probe()
202 serdev_device_set_drvdata(serdev, fc); in yt2_1380_fc_serdev_probe()
203 serdev_device_set_client_ops(serdev, &yt2_1380_fc_serdev_ops); in yt2_1380_fc_serdev_probe()
205 ret = devm_serdev_device_open(dev, serdev); in yt2_1380_fc_serdev_probe()
209 serdev_device_set_baudrate(serdev, 600); in yt2_1380_fc_serdev_probe()
210 serdev_device_set_flow_control(serdev, false); in yt2_1380_fc_serdev_probe()
238 struct serdev_device *serdev; in yt2_1380_fc_pdev_probe() local
[all …]
/linux/drivers/bluetooth/
H A Dhci_serdev.c60 struct serdev_device *serdev = hu->serdev; in hci_uart_write_work() local
73 len = serdev_device_write_buf(serdev, in hci_uart_write_work()
98 BT_DBG("hdev %p serdev %p", hdev, hu->serdev); in hci_uart_flush()
105 serdev_device_write_flush(hu->serdev); in hci_uart_flush()
126 err = serdev_device_open(hu->serdev); in hci_uart_open()
157 serdev_device_close(hu->serdev); in hci_uart_close()
195 serdev_device_set_baudrate(hu->serdev, speed); in hci_uart_setup()
210 serdev_device_set_baudrate(hu->serdev, speed); in hci_uart_setup()
249 static void hci_uart_write_wakeup(struct serdev_device *serdev) in hci_uart_write_wakeup() argument
251 struct hci_uart *hu = serdev_device_get_drvdata(serdev); in hci_uart_write_wakeup()
[all …]
H A Dbtnxpuart.c167 struct serdev_device *serdev; member
389 status = serdev_device_set_tiocm(nxpdev->serdev, TIOCM_DTR, 0); in ps_control()
391 status = serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_DTR); in ps_control()
396 status = serdev_device_break_ctl(nxpdev->serdev, 0); in ps_control()
398 status = serdev_device_break_ctl(nxpdev->serdev, -1); in ps_control()
439 struct serdev_device *serdev = nxpdev->serdev; in ps_setup() local
442 psdata->h2c_ps_gpio = devm_gpiod_get_optional(&serdev->dev, "device-wakeup", in ps_setup()
583 serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_RTS); in ps_init()
585 serdev_device_set_tiocm(nxpdev->serdev, TIOCM_RTS, 0); in ps_init()
606 serdev_device_set_tiocm(nxpdev->serdev, 0, TIOCM_DTR); in ps_init()
[all …]
H A Dhci_mrvl.c78 if (hu->serdev) { in mrvl_open()
79 ret = serdev_device_open(hu->serdev); in mrvl_open()
97 if (hu->serdev) in mrvl_close()
98 serdev_device_close(hu->serdev); in mrvl_close()
380 if (hu->serdev) in mrvl_setup()
381 serdev_device_set_baudrate(hu->serdev, hu->oper_speed); in mrvl_setup()
406 err = serdev_device_wait_for_cts(hu->serdev, true, 10000); in mrvl_set_baudrate()
422 serdev_device_set_baudrate(hu->serdev, speed); in mrvl_set_baudrate()
462 static int mrvl_serdev_probe(struct serdev_device *serdev) in mrvl_serdev_probe() argument
465 const struct hci_uart_proto *mrvl_proto = device_get_match_data(&serdev->dev); in mrvl_serdev_probe()
[all …]
H A Dhci_h5.c220 if (hu->serdev) { in h5_open()
221 h5 = serdev_device_get_drvdata(hu->serdev); in h5_open()
269 if (!hu->serdev) in h5_close()
593 if (hu->serdev) { in h5_recv()
594 pm_runtime_get(&hu->serdev->dev); in h5_recv()
595 pm_runtime_mark_last_busy(&hu->serdev->dev); in h5_recv()
596 pm_runtime_put_autosuspend(&hu->serdev->dev); in h5_recv()
635 if (hu->serdev) { in h5_enqueue()
636 pm_runtime_get_sync(&hu->serdev->dev); in h5_enqueue()
637 pm_runtime_mark_last_busy(&hu->serdev->dev); in h5_enqueue()
[all …]
/linux/drivers/iio/chemical/
H A Dpms7003.c72 struct serdev_device *serdev; member
87 ret = serdev_device_write(state->serdev, pms7003_cmd_tbl[cmd], in pms7003_do_cmd()
214 static size_t pms7003_receive_buf(struct serdev_device *serdev, const u8 *buf, in pms7003_receive_buf() argument
217 struct iio_dev *indio_dev = serdev_device_get_drvdata(serdev); in pms7003_receive_buf()
270 static int pms7003_probe(struct serdev_device *serdev) in pms7003_probe() argument
276 indio_dev = devm_iio_device_alloc(&serdev->dev, sizeof(*state)); in pms7003_probe()
281 serdev_device_set_drvdata(serdev, indio_dev); in pms7003_probe()
282 state->serdev = serdev; in pms7003_probe()
293 serdev_device_set_client_ops(serdev, &pms7003_serdev_ops); in pms7003_probe()
294 ret = devm_serdev_device_open(&serdev->dev, serdev); in pms7003_probe()
[all …]
H A Dscd30_serial.c58 struct serdev_device *serdev = to_serdev_device(state->dev); in scd30_serdev_xfer() local
66 ret = serdev_device_write(serdev, txbuf, txsize, SCD30_SERDEV_TIMEOUT); in scd30_serdev_xfer()
177 static size_t scd30_serdev_receive_buf(struct serdev_device *serdev, in scd30_serdev_receive_buf() argument
180 struct iio_dev *indio_dev = serdev_device_get_drvdata(serdev); in scd30_serdev_receive_buf()
216 static int scd30_serdev_probe(struct serdev_device *serdev) in scd30_serdev_probe() argument
218 struct device *dev = &serdev->dev; in scd30_serdev_probe()
227 serdev_device_set_client_ops(serdev, &scd30_serdev_ops); in scd30_serdev_probe()
229 ret = devm_serdev_device_open(dev, serdev); in scd30_serdev_probe()
233 serdev_device_set_baudrate(serdev, 19200); in scd30_serdev_probe()
234 serdev_device_set_flow_control(serdev, false); in scd30_serdev_probe()
[all …]
H A Dsps30_serial.c53 struct serdev_device *serdev = to_serdev_device(state->dev); in sps30_serial_xfer() local
61 ret = serdev_device_write(serdev, buf, size, SPS30_SERIAL_TIMEOUT); in sps30_serial_xfer()
213 static size_t sps30_serial_receive_buf(struct serdev_device *serdev, in sps30_serial_receive_buf() argument
216 struct iio_dev *indio_dev = dev_get_drvdata(&serdev->dev); in sps30_serial_receive_buf()
387 static int sps30_serial_probe(struct serdev_device *serdev) in sps30_serial_probe() argument
389 struct device *dev = &serdev->dev; in sps30_serial_probe()
398 serdev_device_set_client_ops(serdev, &sps30_serial_device_ops); in sps30_serial_probe()
400 ret = devm_serdev_device_open(dev, serdev); in sps30_serial_probe()
404 serdev_device_set_baudrate(serdev, 115200); in sps30_serial_probe()
405 serdev_device_set_flow_control(serdev, false); in sps30_serial_probe()
[all …]
/linux/drivers/platform/x86/dell/
H A Ddell-uart-backlight.c208 static size_t dell_uart_bl_receive(struct serdev_device *serdev, const u8 *data, size_t len) in dell_uart_bl_receive() argument
210 struct dell_uart_backlight *dell_bl = serdev_device_get_drvdata(serdev); in dell_uart_bl_receive()
270 static int dell_uart_bl_serdev_probe(struct serdev_device *serdev) in dell_uart_bl_serdev_probe() argument
275 struct device *dev = &serdev->dev; in dell_uart_bl_serdev_probe()
286 serdev_device_set_drvdata(serdev, dell_bl); in dell_uart_bl_serdev_probe()
287 serdev_device_set_client_ops(serdev, &dell_uart_bl_serdev_ops); in dell_uart_bl_serdev_probe()
289 ret = devm_serdev_device_open(dev, serdev); in dell_uart_bl_serdev_probe()
294 serdev_device_set_baudrate(serdev, 9600); in dell_uart_bl_serdev_probe()
295 serdev_device_set_flow_control(serdev, false); in dell_uart_bl_serdev_probe()
338 struct serdev_device *serdev; in dell_uart_bl_pdev_probe() local
[all …]
/linux/drivers/mfd/
H A Drave-sp.c189 struct serdev_device *serdev; member
308 return serdev_device_write(sp->serdev, frame, length, HZ); in rave_sp_write()
375 dev_err(&sp->serdev->dev, "Command timeout\n"); in rave_sp_exec()
406 struct device *dev = &sp->serdev->dev; in rave_sp_receive_reply()
444 struct device *dev = &sp->serdev->dev; in rave_sp_receive_frame()
474 static size_t rave_sp_receive_buf(struct serdev_device *serdev, in rave_sp_receive_buf() argument
477 struct device *dev = &serdev->dev; in rave_sp_receive_buf()
696 struct device *dev = &sp->serdev->dev; in rave_sp_get_status()
768 static int rave_sp_probe(struct serdev_device *serdev) in rave_sp_probe() argument
770 struct device *dev = &serdev->dev; in rave_sp_probe()
[all …]

12