diff mbox

[net-next] mdio: Export mdio.h to userland

Message ID 1330542122.5881.2.camel@bwh-desktop
State Rejected, archived
Delegated to: David Miller
Headers show

Commit Message

Ben Hutchings Feb. 29, 2012, 7:02 p.m. UTC
The ID packing/unpacking functions are needed by userland and the
register definitions may also be useful there.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 include/linux/Kbuild |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Ben Hutchings Feb. 29, 2012, 7:12 p.m. UTC | #1
On Wed, 2012-02-29 at 19:02 +0000, Ben Hutchings wrote:
> The ID packing/unpacking functions are needed by userland and the
> register definitions may also be useful there.

Minor issue with this: mdio_phy_id_is_c45() returns bool, and that's not
defined by default.  Should I add #include <stdbool.h> or change the
return type to int for maximum compatibility?

Ben.

> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> ---
>  include/linux/Kbuild |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/Kbuild b/include/linux/Kbuild
> index c94e717..4b0b7ed 100644
> --- a/include/linux/Kbuild
> +++ b/include/linux/Kbuild
> @@ -238,6 +238,7 @@ header-y += magic.h
>  header-y += major.h
>  header-y += map_to_7segment.h
>  header-y += matroxfb.h
> +header-y += mdio.h
>  header-y += media.h
>  header-y += mempolicy.h
>  header-y += meye.h
> -- 
> 1.7.7.6
> 
>
David Miller Feb. 29, 2012, 8:42 p.m. UTC | #2
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 29 Feb 2012 19:12:34 +0000

> On Wed, 2012-02-29 at 19:02 +0000, Ben Hutchings wrote:
>> The ID packing/unpacking functions are needed by userland and the
>> register definitions may also be useful there.
> 
> Minor issue with this: mdio_phy_id_is_c45() returns bool, and that's not
> defined by default.  Should I add #include <stdbool.h> or change the
> return type to int for maximum compatibility?

I do not see any precedence for including stdbool.h in a kernel header
file.  And I sure as hell am not going to compromise using a correct
type just to make this usable by userspace.

I think this is of dubious value, and combined with the bool
complication I'm not going to apply this, sorry.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Hutchings Feb. 29, 2012, 10:43 p.m. UTC | #3
On Wed, 2012-02-29 at 15:42 -0500, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Wed, 29 Feb 2012 19:12:34 +0000
> 
> > On Wed, 2012-02-29 at 19:02 +0000, Ben Hutchings wrote:
> >> The ID packing/unpacking functions are needed by userland and the
> >> register definitions may also be useful there.
> > 
> > Minor issue with this: mdio_phy_id_is_c45() returns bool, and that's not
> > defined by default.  Should I add #include <stdbool.h> or change the
> > return type to int for maximum compatibility?
> 
> I do not see any precedence for including stdbool.h in a kernel header
> file.  And I sure as hell am not going to compromise using a correct
> type just to make this usable by userspace.
> 
> I think this is of dubious value, and combined with the bool
> complication I'm not going to apply this, sorry.

Without this, userland doing clause 45 MDIO has to duplicate the ID
packing definitions.   I intended to export these to userland in the
first place; that's why the header already has an #ifdef __KERNEL__.
I was about to get rid of the duplicate definitions in our utilities
when I realised I hadn't exported them.

Ben.
David Miller Feb. 29, 2012, 11:02 p.m. UTC | #4
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 29 Feb 2012 22:43:48 +0000

> On Wed, 2012-02-29 at 15:42 -0500, David Miller wrote:
>> From: Ben Hutchings <bhutchings@solarflare.com>
>> Date: Wed, 29 Feb 2012 19:12:34 +0000
>> 
>> > On Wed, 2012-02-29 at 19:02 +0000, Ben Hutchings wrote:
>> >> The ID packing/unpacking functions are needed by userland and the
>> >> register definitions may also be useful there.
>> > 
>> > Minor issue with this: mdio_phy_id_is_c45() returns bool, and that's not
>> > defined by default.  Should I add #include <stdbool.h> or change the
>> > return type to int for maximum compatibility?
>> 
>> I do not see any precedence for including stdbool.h in a kernel header
>> file.  And I sure as hell am not going to compromise using a correct
>> type just to make this usable by userspace.
>> 
>> I think this is of dubious value, and combined with the bool
>> complication I'm not going to apply this, sorry.
> 
> Without this, userland doing clause 45 MDIO has to duplicate the ID
> packing definitions.

Then come up with a real solution to the bool issue.

But note that changing the bool to an int is not a solution, neither
is #include <stdbool.h> unless we can reach consensus on lkml that
this is OK.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Hutchings Feb. 29, 2012, 11:09 p.m. UTC | #5
On Wed, 2012-02-29 at 18:02 -0500, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Wed, 29 Feb 2012 22:43:48 +0000
> 
> > On Wed, 2012-02-29 at 15:42 -0500, David Miller wrote:
> >> From: Ben Hutchings <bhutchings@solarflare.com>
> >> Date: Wed, 29 Feb 2012 19:12:34 +0000
> >> 
> >> > On Wed, 2012-02-29 at 19:02 +0000, Ben Hutchings wrote:
> >> >> The ID packing/unpacking functions are needed by userland and the
> >> >> register definitions may also be useful there.
> >> > 
> >> > Minor issue with this: mdio_phy_id_is_c45() returns bool, and that's not
> >> > defined by default.  Should I add #include <stdbool.h> or change the
> >> > return type to int for maximum compatibility?
> >> 
> >> I do not see any precedence for including stdbool.h in a kernel header
> >> file.  And I sure as hell am not going to compromise using a correct
> >> type just to make this usable by userspace.
> >> 
> >> I think this is of dubious value, and combined with the bool
> >> complication I'm not going to apply this, sorry.
> > 
> > Without this, userland doing clause 45 MDIO has to duplicate the ID
> > packing definitions.
> 
> Then come up with a real solution to the bool issue.
> 
> But note that changing the bool to an int is not a solution, neither
> is #include <stdbool.h> unless we can reach consensus on lkml that
> this is OK.

I could just move the mdio_phy_id_is_c45(), mdio_phy_id_prtad(),
mdio_phy_id_devad() functions inside #ifdef __KERNEL__ since userland
shouldn't need to unpack PHY IDs.

Ben.
David Miller Feb. 29, 2012, 11:31 p.m. UTC | #6
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 29 Feb 2012 23:09:52 +0000

> I could just move the mdio_phy_id_is_c45(), mdio_phy_id_prtad(),
> mdio_phy_id_devad() functions inside #ifdef __KERNEL__ since userland
> shouldn't need to unpack PHY IDs.

That would work too.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index c94e717..4b0b7ed 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -238,6 +238,7 @@  header-y += magic.h
 header-y += major.h
 header-y += map_to_7segment.h
 header-y += matroxfb.h
+header-y += mdio.h
 header-y += media.h
 header-y += mempolicy.h
 header-y += meye.h