Re: [RFC] Add clause 45 ioctl

Eilon Greenstein
2009-04-30T16:24:12Z

On Thu, 2009-04-30 at 08:49 -0700, Ben Hutchings wrote:
> On Thu, 2009-04-30 at 18:05 +0300, Eilon Greenstein wrote:
> > On Tue, 2009-04-28 at 06:22 -0700, Ben Hutchings wrote:
> > > > I'm sending this as RFC - if anyone has alternative suggestions on how
> > > > user space application can access the PHY, I would appreciate it.
> > > [...]
> > >
> > > I was working on an alternate interface that would use the existing
> > > structure and ioctls. There are at least two drivers (cxgb3 and sfc)
> > > that already do this, though they currently pack PRTAD and DEVAD
> > > differently in the phy_id field.
> >
> > I can use the same approach and overload the CL22 definitions, but don't
> > you think it is cleaner to add the CL45 definition?
>
> I don't know that it's cleaner, but it's certainly more compatible.
> This interface can also be implemented in out-of-tree drivers for older
> kernels whereas new generic ioctls cannot.
>
> > I think that the
> > fact that two drivers are already overloading the CL22 for CL45 usage is
> > showing that CL45 is needed, and the fact that they are doing that
> > differently shows that there is a need for a clean definition. I'm just
> > thinking about someone trying to write an application for all CL45
> > supporting drivers - it is easier if there is a clean interface.
> >
> > What do you say?
>
> I defined a generic format:
>
> ﻿clause 45 generic: 100000pppppddddd
>
> which is distinguishable from the existing:
>
> clause 22: 00000000000ppppp
> clause 45 sfc: 000001pppppddddd
> clause 45 cxgb3: 000ppppp000ddddd (prtad != 0)
>
> The drivers that already had their own formats will convert them to the
> generic format before calling the generic handler.

OK - I will implement it as according to your new definition:
clause 45 generic: 100000pppppddddd

Thanks!
Eilon