mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 10:15:32 -05:00
net: mdio: mux-mmioreg: Simplified with dev_err_probe()
Use the dev_err_probe() helper to simplify code. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
@@ -109,30 +109,25 @@ static int mdio_mux_mmioreg_probe(struct platform_device *pdev)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = of_address_to_resource(np, 0, &res);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "could not obtain memory map for node %pOF\n",
|
||||
np);
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
return dev_err_probe(&pdev->dev, ret,
|
||||
"could not obtain memory map for node %pOF\n", np);
|
||||
s->phys = res.start;
|
||||
|
||||
s->iosize = resource_size(&res);
|
||||
if (s->iosize != sizeof(uint8_t) &&
|
||||
s->iosize != sizeof(uint16_t) &&
|
||||
s->iosize != sizeof(uint32_t)) {
|
||||
dev_err(&pdev->dev, "only 8/16/32-bit registers are supported\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
s->iosize != sizeof(uint32_t))
|
||||
return dev_err_probe(&pdev->dev, -EINVAL,
|
||||
"only 8/16/32-bit registers are supported\n");
|
||||
|
||||
iprop = of_get_property(np, "mux-mask", &len);
|
||||
if (!iprop || len != sizeof(uint32_t)) {
|
||||
dev_err(&pdev->dev, "missing or invalid mux-mask property\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
if (be32_to_cpup(iprop) >= BIT(s->iosize * 8)) {
|
||||
dev_err(&pdev->dev, "only 8/16/32-bit registers are supported\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!iprop || len != sizeof(uint32_t))
|
||||
return dev_err_probe(&pdev->dev, -ENODEV,
|
||||
"missing or invalid mux-mask property\n");
|
||||
if (be32_to_cpup(iprop) >= BIT(s->iosize * 8))
|
||||
return dev_err_probe(&pdev->dev, -EINVAL,
|
||||
"only 8/16/32-bit registers are supported\n");
|
||||
s->mask = be32_to_cpup(iprop);
|
||||
|
||||
/*
|
||||
@@ -142,17 +137,14 @@ static int mdio_mux_mmioreg_probe(struct platform_device *pdev)
|
||||
for_each_available_child_of_node_scoped(np, np2) {
|
||||
u64 reg;
|
||||
|
||||
if (of_property_read_reg(np2, 0, ®, NULL)) {
|
||||
dev_err(&pdev->dev, "mdio-mux child node %pOF is "
|
||||
"missing a 'reg' property\n", np2);
|
||||
return -ENODEV;
|
||||
}
|
||||
if ((u32)reg & ~s->mask) {
|
||||
dev_err(&pdev->dev, "mdio-mux child node %pOF has "
|
||||
"a 'reg' value with unmasked bits\n",
|
||||
np2);
|
||||
return -ENODEV;
|
||||
}
|
||||
if (of_property_read_reg(np2, 0, ®, NULL))
|
||||
return dev_err_probe(&pdev->dev, -ENODEV,
|
||||
"mdio-mux child node %pOF is missing a 'reg' property\n",
|
||||
np2);
|
||||
if ((u32)reg & ~s->mask)
|
||||
return dev_err_probe(&pdev->dev, -ENODEV,
|
||||
"mdio-mux child node %pOF has a 'reg' value with unmasked bits\n",
|
||||
np2);
|
||||
}
|
||||
|
||||
ret = mdio_mux_init(&pdev->dev, pdev->dev.of_node,
|
||||
|
||||
Reference in New Issue
Block a user