net: of_get_phy_mode: Change API to solve int/unit warnings
Before this change of_get_phy_mode() returned an enum, phy_interface_t. On error, -ENODEV etc, is returned. If the result of the function is stored in a variable of type phy_interface_t, and the compiler has decided to represent this as an unsigned int, comparision with -ENODEV etc, is a signed vs unsigned comparision. Fix this problem by changing the API. Make the function return an error, or 0 on success, and pass a pointer, of type phy_interface_t, where the phy mode should be stored. v2: Return with *interface set to PHY_INTERFACE_MODE_NA on error. Add error checks to all users of of_get_phy_mode() Fixup a few reverse christmas tree errors Fixup a few slightly malformed reverse christmas trees v3: Fix 0-day reported errors. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
5d1fcaf35d
commit
0c65b2b90d
@@ -364,12 +364,12 @@ static int mscc_ocelot_probe(struct platform_device *pdev)
|
||||
|
||||
for_each_available_child_of_node(ports, portnp) {
|
||||
struct device_node *phy_node;
|
||||
phy_interface_t phy_mode;
|
||||
struct phy_device *phy;
|
||||
struct resource *res;
|
||||
struct phy *serdes;
|
||||
void __iomem *regs;
|
||||
char res_name[8];
|
||||
int phy_mode;
|
||||
u32 port;
|
||||
|
||||
if (of_property_read_u32(portnp, "reg", &port))
|
||||
@@ -398,11 +398,11 @@ static int mscc_ocelot_probe(struct platform_device *pdev)
|
||||
goto out_put_ports;
|
||||
}
|
||||
|
||||
phy_mode = of_get_phy_mode(portnp);
|
||||
if (phy_mode < 0)
|
||||
ocelot->ports[port]->phy_mode = PHY_INTERFACE_MODE_NA;
|
||||
else
|
||||
ocelot->ports[port]->phy_mode = phy_mode;
|
||||
err = of_get_phy_mode(portnp, &phy_mode);
|
||||
if (err && err != -ENODEV)
|
||||
goto out_put_ports;
|
||||
|
||||
ocelot->ports[port]->phy_mode = phy_mode;
|
||||
|
||||
switch (ocelot->ports[port]->phy_mode) {
|
||||
case PHY_INTERFACE_MODE_NA:
|
||||
|
Reference in New Issue
Block a user