Message ID | 20180525213714.2120604-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
Series | [net-next] qcom-emag: hide ACPI specific functions | expand |
On 5/25/18 4:37 PM, Arnd Bergmann wrote: > +#ifdef CONFIG_ACPI > static int emac_sgmii_irq_clear(struct emac_adapter *adpt, u8 irq_bits) > { > struct emac_sgmii *phy = &adpt->phy; > @@ -288,6 +289,7 @@ static struct sgmii_ops qdf2400_ops = { > .link_change = emac_sgmii_common_link_change, > .reset = emac_sgmii_common_reset, > }; > +#endif This seems wrong. The SGMII interrupt handler should still be viable on a device-tree system. There is a DT compatibility entry for the qdf2432. Looks like that most recent patch on net-next broke DT support, when it removed these lines: - phy->open = emac_sgmii_open; - phy->close = emac_sgmii_close; - phy->link_up = emac_sgmii_link_up; - phy->link_down = emac_sgmii_link_down; I'll take it look at it next week when I'm back in the office. -- Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
On 5/25/18 7:22 PM, Timur Tabi wrote: > - phy->open = emac_sgmii_open; > - phy->close = emac_sgmii_close; > - phy->link_up = emac_sgmii_link_up; > - phy->link_down = emac_sgmii_link_down; > > I'll take it look at it next week when I'm back in the office. I posted a patch that fixes this problem and also retains device-tree support. -- Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
diff --git a/drivers/net/ethernet/qualcomm/emac/emac-sgmii.c b/drivers/net/ethernet/qualcomm/emac/emac-sgmii.c index 562420b834df..01b80e0a5367 100644 --- a/drivers/net/ethernet/qualcomm/emac/emac-sgmii.c +++ b/drivers/net/ethernet/qualcomm/emac/emac-sgmii.c @@ -108,6 +108,7 @@ static void emac_sgmii_link_init(struct emac_adapter *adpt) writel(val, phy->base + EMAC_SGMII_PHY_AUTONEG_CFG2); } +#ifdef CONFIG_ACPI static int emac_sgmii_irq_clear(struct emac_adapter *adpt, u8 irq_bits) { struct emac_sgmii *phy = &adpt->phy; @@ -288,6 +289,7 @@ static struct sgmii_ops qdf2400_ops = { .link_change = emac_sgmii_common_link_change, .reset = emac_sgmii_common_reset, }; +#endif static int emac_sgmii_acpi_match(struct device *dev, void *data) {
A couple of functions in this file are only used when building with ACPI enabled, leading to a build warning on most architectures: drivers/net/ethernet/qualcomm/emac/emac-sgmii.c:284:25: error: 'qdf2400_ops' defined but not used [-Werror=unused-variable] static struct sgmii_ops qdf2400_ops = { ^~~~~~~~~~~ drivers/net/ethernet/qualcomm/emac/emac-sgmii.c:276:25: error: 'qdf2432_ops' defined but not used [-Werror=unused-variable] static struct sgmii_ops qdf2432_ops = { This hides all the unused functions by putting them into the corresponding #ifdef. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/net/ethernet/qualcomm/emac/emac-sgmii.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.9.0