From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiner Kallweit Subject: Re: [PATCH net-next] net: phy: improve struct phy_device member interrupts handling Date: Thu, 8 Nov 2018 23:39:02 +0100 Message-ID: References: <44805a11-3063-4f1f-2fd2-b268155d4935@gmail.com> <20181108222436.GH5259@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Florian Fainelli , David Miller , "netdev@vger.kernel.org" To: Andrew Lunn Return-path: Received: from mail-wm1-f68.google.com ([209.85.128.68]:56157 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727771AbeKIIQu (ORCPT ); Fri, 9 Nov 2018 03:16:50 -0500 Received: by mail-wm1-f68.google.com with SMTP id s10-v6so266992wmc.5 for ; Thu, 08 Nov 2018 14:39:08 -0800 (PST) In-Reply-To: <20181108222436.GH5259@lunn.ch> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 08.11.2018 23:24, Andrew Lunn wrote: > On Thu, Nov 08, 2018 at 10:36:33PM +0100, Heiner Kallweit wrote: >> As a heritage from the very early days of phylib member interrupts is >> defined as u32 even though it's just a flag whether interrupts are >> enabled. So we can change it to a bitfield member. In addition change >> the code dealing with this member in a way that it's clear we're >> dealing with a bool value. >> >> Signed-off-by: Heiner Kallweit >> --- >> Actually this member isn't needed at all and could be replaced with >> a parameter in phy_driver->config_intr. But this would mean an API >> change, maybe I come up with a proposal later. >> --- >> drivers/net/phy/phy.c | 2 +- >> include/linux/phy.h | 10 +++++----- >> 2 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c >> index dd5bff955..a5e6acfe6 100644 >> --- a/drivers/net/phy/phy.c >> +++ b/drivers/net/phy/phy.c >> @@ -115,7 +115,7 @@ static int phy_clear_interrupt(struct phy_device *phydev) >> * >> * Returns 0 on success or < 0 on error. >> */ >> -static int phy_config_interrupt(struct phy_device *phydev, u32 interrupts) >> +static int phy_config_interrupt(struct phy_device *phydev, bool interrupts) >> { >> phydev->interrupts = interrupts; >> if (phydev->drv->config_intr) >> diff --git a/include/linux/phy.h b/include/linux/phy.h >> index 5dd85c441..fc90af152 100644 >> --- a/include/linux/phy.h >> +++ b/include/linux/phy.h >> @@ -263,8 +263,8 @@ static inline struct mii_bus *devm_mdiobus_alloc(struct device *dev) >> void devm_mdiobus_free(struct device *dev, struct mii_bus *bus); >> struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr); >> >> -#define PHY_INTERRUPT_DISABLED 0x0 >> -#define PHY_INTERRUPT_ENABLED 0x80000000 >> +#define PHY_INTERRUPT_DISABLED 0 >> +#define PHY_INTERRUPT_ENABLED 1 > > Hi Heiner > > Since this is passed around as a bool, false/true would be better than > 0/1. > I thought about that before submitting the patch. I preferred to go with 0/1 because we assign this value to a 1 bit bitfield member which supports values 0/1 only. So neither option is perfect IMO. > Andrew > Heiner