diff options
Diffstat (limited to 'drivers/platform/chrome/cros_ec_uart.c')
| -rw-r--r-- | drivers/platform/chrome/cros_ec_uart.c | 28 | 
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/platform/chrome/cros_ec_uart.c b/drivers/platform/chrome/cros_ec_uart.c index 8ea867c2a01a..62bc24f6dcc7 100644 --- a/drivers/platform/chrome/cros_ec_uart.c +++ b/drivers/platform/chrome/cros_ec_uart.c @@ -263,12 +263,6 @@ static int cros_ec_uart_probe(struct serdev_device *serdev)  	if (!ec_dev)  		return -ENOMEM; -	ret = devm_serdev_device_open(dev, serdev); -	if (ret) { -		dev_err(dev, "Unable to open UART device"); -		return ret; -	} -  	serdev_device_set_drvdata(serdev, ec_dev);  	init_waitqueue_head(&ec_uart->response.wait_queue); @@ -280,14 +274,6 @@ static int cros_ec_uart_probe(struct serdev_device *serdev)  		return ret;  	} -	ret = serdev_device_set_baudrate(serdev, ec_uart->baudrate); -	if (ret < 0) { -		dev_err(dev, "Failed to set up host baud rate (%d)", ret); -		return ret; -	} - -	serdev_device_set_flow_control(serdev, ec_uart->flowcontrol); -  	/* Initialize ec_dev for cros_ec  */  	ec_dev->phys_name = dev_name(dev);  	ec_dev->dev = dev; @@ -301,6 +287,20 @@ static int cros_ec_uart_probe(struct serdev_device *serdev)  	serdev_device_set_client_ops(serdev, &cros_ec_uart_client_ops); +	ret = devm_serdev_device_open(dev, serdev); +	if (ret) { +		dev_err(dev, "Unable to open UART device"); +		return ret; +	} + +	ret = serdev_device_set_baudrate(serdev, ec_uart->baudrate); +	if (ret < 0) { +		dev_err(dev, "Failed to set up host baud rate (%d)", ret); +		return ret; +	} + +	serdev_device_set_flow_control(serdev, ec_uart->flowcontrol); +  	return cros_ec_register(ec_dev);  }  |