dm: serial: Adjust serial_getconfig() to use proper API

All driver-model functions should have a device as the first parameter.
Update this function accordingly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
This commit is contained in:
Simon Glass 2018-12-28 14:23:08 -07:00
parent 0171f43204
commit 67d1b05130
4 changed files with 10 additions and 10 deletions

View File

@ -342,6 +342,7 @@ static void acpi_create_spcr(struct acpi_spcr *spcr)
struct acpi_table_header *header = &(spcr->header); struct acpi_table_header *header = &(spcr->header);
struct serial_device_info serial_info = {0}; struct serial_device_info serial_info = {0};
ulong serial_address, serial_offset; ulong serial_address, serial_offset;
struct udevice *dev;
uint serial_config; uint serial_config;
uint serial_width; uint serial_width;
int access_size; int access_size;
@ -431,7 +432,9 @@ static void acpi_create_spcr(struct acpi_spcr *spcr)
break; break;
} }
ret = serial_getconfig(&serial_config); ret = uclass_first_device_err(UCLASS_SERIAL, &dev);
if (!ret)
ret = serial_getconfig(dev, &serial_config);
if (ret) if (ret)
serial_config = SERIAL_DEFAULT_CONFIG; serial_config = SERIAL_DEFAULT_CONFIG;

View File

@ -294,16 +294,13 @@ void serial_setbrg(void)
ops->setbrg(gd->cur_serial_dev, gd->baudrate); ops->setbrg(gd->cur_serial_dev, gd->baudrate);
} }
int serial_getconfig(uint *config) int serial_getconfig(struct udevice *dev, uint *config)
{ {
struct dm_serial_ops *ops; struct dm_serial_ops *ops;
if (!gd->cur_serial_dev) ops = serial_get_ops(dev);
return 0;
ops = serial_get_ops(gd->cur_serial_dev);
if (ops->getconfig) if (ops->getconfig)
return ops->getconfig(gd->cur_serial_dev, config); return ops->getconfig(dev, config);
return 0; return 0;
} }

View File

@ -281,7 +281,7 @@ struct serial_dev_priv {
/* Access the serial operations for a device */ /* Access the serial operations for a device */
#define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops) #define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops)
int serial_getconfig(uint *config); int serial_getconfig(struct udevice *dev, uint *config);
int serial_setconfig(uint config); int serial_setconfig(uint config);
int serial_getinfo(struct serial_device_info *info); int serial_getinfo(struct serial_device_info *info);

View File

@ -24,7 +24,7 @@ static int dm_test_serial(struct unit_test_state *uts)
* sandbox_serial driver * sandbox_serial driver
*/ */
ut_assertok(serial_setconfig(SERIAL_DEFAULT_CONFIG)); ut_assertok(serial_setconfig(SERIAL_DEFAULT_CONFIG));
ut_assertok(serial_getconfig(&value_serial)); ut_assertok(serial_getconfig(dev_serial, &value_serial));
ut_assert(value_serial == SERIAL_DEFAULT_CONFIG); ut_assert(value_serial == SERIAL_DEFAULT_CONFIG);
ut_assertok(serial_getinfo(&info_serial)); ut_assertok(serial_getinfo(&info_serial));
ut_assert(info_serial.type == SERIAL_CHIP_UNKNOWN); ut_assert(info_serial.type == SERIAL_CHIP_UNKNOWN);
@ -32,7 +32,7 @@ static int dm_test_serial(struct unit_test_state *uts)
/* /*
* test with a parameter which is NULL pointer * test with a parameter which is NULL pointer
*/ */
ut_asserteq(-EINVAL, serial_getconfig(NULL)); ut_asserteq(-EINVAL, serial_getconfig(dev_serial, NULL));
ut_asserteq(-EINVAL, serial_getinfo(NULL)); ut_asserteq(-EINVAL, serial_getinfo(NULL));
/* /*
* test with a serial config which is not supported by * test with a serial config which is not supported by