mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 22:23:55 +00:00
net: mdio: mdiobus_register: update validation test
Now that C45 uses its own read/write methods, the validation performed when a bus is registers needs updating. All combinations of C22 and C45 are supported, but both read and write methods must be provided, read only busses are not supported etc. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
3a65e5f917
commit
555d64c6d8
@ -526,8 +526,15 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner)
|
||||
int i, err;
|
||||
struct gpio_desc *gpiod;
|
||||
|
||||
if (NULL == bus || NULL == bus->name ||
|
||||
NULL == bus->read || NULL == bus->write)
|
||||
if (!bus || !bus->name)
|
||||
return -EINVAL;
|
||||
|
||||
/* An access method always needs both read and write operations */
|
||||
if (!!bus->read != !!bus->write || !!bus->read_c45 != !!bus->write_c45)
|
||||
return -EINVAL;
|
||||
|
||||
/* At least one method is mandatory */
|
||||
if (!bus->read && !bus->read_c45)
|
||||
return -EINVAL;
|
||||
|
||||
if (bus->parent && bus->parent->of_node)
|
||||
|
Loading…
Reference in New Issue
Block a user