dm: serial: Adjust serial_getinfo() 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:
parent
3de04e771c
commit
a61cbad78e
@ -354,7 +354,10 @@ static void acpi_create_spcr(struct acpi_spcr *spcr)
|
|||||||
header->length = sizeof(struct acpi_spcr);
|
header->length = sizeof(struct acpi_spcr);
|
||||||
header->revision = 2;
|
header->revision = 2;
|
||||||
|
|
||||||
ret = serial_getinfo(&serial_info);
|
/* Read the device once, here. It is reused below */
|
||||||
|
ret = uclass_first_device_err(UCLASS_SERIAL, &dev);
|
||||||
|
if (!ret)
|
||||||
|
ret = serial_getinfo(dev, &serial_info);
|
||||||
if (ret)
|
if (ret)
|
||||||
serial_info.type = SERIAL_CHIP_UNKNOWN;
|
serial_info.type = SERIAL_CHIP_UNKNOWN;
|
||||||
|
|
||||||
@ -432,11 +435,9 @@ static void acpi_create_spcr(struct acpi_spcr *spcr)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = uclass_first_device_err(UCLASS_SERIAL, &dev);
|
serial_config = SERIAL_DEFAULT_CONFIG;
|
||||||
if (!ret)
|
if (dev)
|
||||||
ret = serial_getconfig(dev, &serial_config);
|
ret = serial_getconfig(dev, &serial_config);
|
||||||
if (ret)
|
|
||||||
serial_config = SERIAL_DEFAULT_CONFIG;
|
|
||||||
|
|
||||||
spcr->parity = SERIAL_GET_PARITY(serial_config);
|
spcr->parity = SERIAL_GET_PARITY(serial_config);
|
||||||
spcr->stop_bits = SERIAL_GET_STOP(serial_config);
|
spcr->stop_bits = SERIAL_GET_STOP(serial_config);
|
||||||
|
@ -316,21 +316,18 @@ int serial_setconfig(struct udevice *dev, uint config)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int serial_getinfo(struct serial_device_info *info)
|
int serial_getinfo(struct udevice *dev, struct serial_device_info *info)
|
||||||
{
|
{
|
||||||
struct dm_serial_ops *ops;
|
struct dm_serial_ops *ops;
|
||||||
|
|
||||||
if (!gd->cur_serial_dev)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
if (!info)
|
if (!info)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
info->baudrate = gd->baudrate;
|
info->baudrate = gd->baudrate;
|
||||||
|
|
||||||
ops = serial_get_ops(gd->cur_serial_dev);
|
ops = serial_get_ops(dev);
|
||||||
if (ops->getinfo)
|
if (ops->getinfo)
|
||||||
return ops->getinfo(gd->cur_serial_dev, info);
|
return ops->getinfo(dev, info);
|
||||||
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
@ -283,7 +283,7 @@ struct serial_dev_priv {
|
|||||||
|
|
||||||
int serial_getconfig(struct udevice *dev, uint *config);
|
int serial_getconfig(struct udevice *dev, uint *config);
|
||||||
int serial_setconfig(struct udevice *dev, uint config);
|
int serial_setconfig(struct udevice *dev, uint config);
|
||||||
int serial_getinfo(struct serial_device_info *info);
|
int serial_getinfo(struct udevice *dev, struct serial_device_info *info);
|
||||||
|
|
||||||
void atmel_serial_initialize(void);
|
void atmel_serial_initialize(void);
|
||||||
void mcf_serial_initialize(void);
|
void mcf_serial_initialize(void);
|
||||||
|
@ -26,14 +26,14 @@ static int dm_test_serial(struct unit_test_state *uts)
|
|||||||
ut_assertok(serial_setconfig(dev_serial, SERIAL_DEFAULT_CONFIG));
|
ut_assertok(serial_setconfig(dev_serial, SERIAL_DEFAULT_CONFIG));
|
||||||
ut_assertok(serial_getconfig(dev_serial, &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(dev_serial, &info_serial));
|
||||||
ut_assert(info_serial.type == SERIAL_CHIP_UNKNOWN);
|
ut_assert(info_serial.type == SERIAL_CHIP_UNKNOWN);
|
||||||
ut_assert(info_serial.addr == SERIAL_DEFAULT_ADDRESS);
|
ut_assert(info_serial.addr == SERIAL_DEFAULT_ADDRESS);
|
||||||
/*
|
/*
|
||||||
* test with a parameter which is NULL pointer
|
* test with a parameter which is NULL pointer
|
||||||
*/
|
*/
|
||||||
ut_asserteq(-EINVAL, serial_getconfig(dev_serial, NULL));
|
ut_asserteq(-EINVAL, serial_getconfig(dev_serial, NULL));
|
||||||
ut_asserteq(-EINVAL, serial_getinfo(NULL));
|
ut_asserteq(-EINVAL, serial_getinfo(dev_serial, NULL));
|
||||||
/*
|
/*
|
||||||
* test with a serial config which is not supported by
|
* test with a serial config which is not supported by
|
||||||
* sandbox_serial driver: test with wrong parity
|
* sandbox_serial driver: test with wrong parity
|
||||||
|
Loading…
Reference in New Issue
Block a user