/linux/drivers/tty/serdev/ |
H A D | core.c | 62 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 D | Makefile | 2 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 D | serial.c | 25 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 D | sirf.c | 40 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 D | ubx.c | 66 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 D | mtk.c | 66 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 D | serdev.h | 111 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 D | w1-uart.c | 55 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 D | uart.c | 54 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 D | uart.c | 29 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 D | bno055_ser_core.c | 162 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 D | core.c | 310 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 D | ssh_packet_layer.h | 78 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 D | qca_uart.c | 39 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 D | serial-generic.c | 41 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 D | lenovo-yoga-tab2-pro-1380-fastcharger.c | 136 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 D | hci_serdev.c | 60 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 D | btnxpuart.c | 167 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 D | hci_mrvl.c | 78 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 D | hci_h5.c | 220 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 D | pms7003.c | 72 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 D | scd30_serial.c | 58 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 D | sps30_serial.c | 53 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 D | dell-uart-backlight.c | 208 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 D | rave-sp.c | 189 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 …]
|