2010-10-14 16:40:26

by Rafał Miłecki

[permalink] [raw]
Subject: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
<[email protected]> napisał:
> Doesn't brcm80211 contain register names for B2055?

I've checked brcm80211 and noticed defines in
drivers/staging/brcm80211/phy/wlc_phy_radio.h.

Whole brcm80211 driver is licensed as:
MODULE_LICENSE("Dual BSD/GPL");

Mentioned file contains following comments:
+/*
+ * Copyright (c) 2010 Broadcom Corporation
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.

Our b43 driver is licensed as:
MODULE_LICENSE("GPL");
and I am not sure if permission above is actually GPL-compatible. The
best option would be to add defines from wlc_phy_radio.h and include
Broadcom's copyright. However comment above wants us to include info
about free copying/modifying/using which is not GPL-compatible.

Is there any way to solve this issue?

--
Rafał


2010-10-14 17:18:18

by Greg KH

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, Oct 14, 2010 at 07:06:00PM +0200, Rafał Miłecki wrote:
> 2010/10/14 Greg KH <[email protected]>:
> > On Thu, Oct 14, 2010 at 06:40:14PM +0200, Rafał Miłecki wrote:
> >> W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
> >> <[email protected]> napisał:
> >> > Doesn't brcm80211 contain register names for B2055?
> >>
> >> I've checked brcm80211 and noticed defines in
> >> drivers/staging/brcm80211/phy/wlc_phy_radio.h.
> >>
> >> Whole brcm80211 driver is licensed as:
> >> MODULE_LICENSE("Dual BSD/GPL");
> >>
> >> Mentioned file contains following comments:
> >> +/*
> >> + * Copyright (c) 2010 Broadcom Corporation
> >> + *
> >> + * Permission to use, copy, modify, and/or distribute this software for any
> >> + * purpose with or without fee is hereby granted, provided that the above
> >> + * copyright notice and this permission notice appear in all copies.
> >>
> >> Our b43 driver is licensed as:
> >> MODULE_LICENSE("GPL");
> >> and I am not sure if permission above is actually GPL-compatible. The
> >> best option would be to add defines from wlc_phy_radio.h and include
> >> Broadcom's copyright. However comment above wants us to include info
> >> about free copying/modifying/using which is not GPL-compatible.
> >>
> >> Is there any way to solve this issue?
> >
> > I don't understand, are you just wanting to use the names in the .h file
> > for the registers?
>
> Yes. I want to put lines like:
> #define RADIO_2056_RX0 (0x6 << 12)
> in my radio_2056.h

I don't think that bitfields are copyrightable :)

> > If so, why?  You don't want to support the same devices in the b43
> > driver that the brcm80211 driver does, do you?
>
> I do. I see many advantages of that plus most of the code is already
> here coming from RE.

"RE"?

> Finishing N-PHY support in b43 does not need much work plus:
> 1) We support SSB devices
> 2) We support older (LP/G-phy) devices
> 3) We share infrastructure (easier to maintain)
> 4) We probably could support modes like AP

If that would be a simpler task than trying to clean up the brcm80211
driver, that seems quite reasonable.

Henry, Brett, Nohee, what do you think about this?

thanks,

greg k-h

2010-10-14 17:24:30

by Michael Büsch

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, 2010-10-14 at 10:17 -0700, Greg KH wrote:
> > Finishing N-PHY support in b43 does not need much work plus:
> > 1) We support SSB devices
> > 2) We support older (LP/G-phy) devices
> > 3) We share infrastructure (easier to maintain)
> > 4) We probably could support modes like AP
>
> If that would be a simpler task than trying to clean up the brcm80211
> driver, that seems quite reasonable.

That's really an unrelated topic. b43 and brcm80211 support different
kinds of devices whereas both devices may share certain sub-devices.
Like the radio device (b2056) in this case.

So it's not just a matter of "cleaning up" brcm80211. That doesn't give
us support for old SSB based N-PHY devices, because brcm80211 does not
support them at all.

--
Greetings Michael.


2010-10-14 16:51:25

by Greg KH

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, Oct 14, 2010 at 06:40:14PM +0200, Rafał Miłecki wrote:
> W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
> <[email protected]> napisał:
> > Doesn't brcm80211 contain register names for B2055?
>
> I've checked brcm80211 and noticed defines in
> drivers/staging/brcm80211/phy/wlc_phy_radio.h.
>
> Whole brcm80211 driver is licensed as:
> MODULE_LICENSE("Dual BSD/GPL");
>
> Mentioned file contains following comments:
> +/*
> + * Copyright (c) 2010 Broadcom Corporation
> + *
> + * Permission to use, copy, modify, and/or distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
>
> Our b43 driver is licensed as:
> MODULE_LICENSE("GPL");
> and I am not sure if permission above is actually GPL-compatible. The
> best option would be to add defines from wlc_phy_radio.h and include
> Broadcom's copyright. However comment above wants us to include info
> about free copying/modifying/using which is not GPL-compatible.
>
> Is there any way to solve this issue?

I don't understand, are you just wanting to use the names in the .h file
for the registers?

If so, why? You don't want to support the same devices in the b43
driver that the brcm80211 driver does, do you?

confused,

greg k-h

2010-10-14 17:38:53

by Rafał Miłecki

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

2010/10/14 Greg KH <[email protected]>:
> On Thu, Oct 14, 2010 at 07:06:00PM +0200, Rafał Miłecki wrote:
>> 2010/10/14 Greg KH <[email protected]>:
>> > On Thu, Oct 14, 2010 at 06:40:14PM +0200, Rafał Miłecki wrote:
>> >> W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
>> >> <[email protected]> napisał:
>> >> > Doesn't brcm80211 contain register names for B2055?
>> >>
>> >> I've checked brcm80211 and noticed defines in
>> >> drivers/staging/brcm80211/phy/wlc_phy_radio.h.
>> >>
>> >> Whole brcm80211 driver is licensed as:
>> >> MODULE_LICENSE("Dual BSD/GPL");
>> >>
>> >> Mentioned file contains following comments:
>> >> +/*
>> >> + * Copyright (c) 2010 Broadcom Corporation
>> >> + *
>> >> + * Permission to use, copy, modify, and/or distribute this software for any
>> >> + * purpose with or without fee is hereby granted, provided that the above
>> >> + * copyright notice and this permission notice appear in all copies.
>> >>
>> >> Our b43 driver is licensed as:
>> >> MODULE_LICENSE("GPL");
>> >> and I am not sure if permission above is actually GPL-compatible. The
>> >> best option would be to add defines from wlc_phy_radio.h and include
>> >> Broadcom's copyright. However comment above wants us to include info
>> >> about free copying/modifying/using which is not GPL-compatible.
>> >>
>> >> Is there any way to solve this issue?
>> >
>> > I don't understand, are you just wanting to use the names in the .h file
>> > for the registers?
>>
>> Yes. I want to put lines like:
>> #define RADIO_2056_RX0                                (0x6 << 12)
>> in my radio_2056.h
>
> I don't think that bitfields are copyrightable :)

What about rest of the code? brcm80211 seems to support even newer
devices we don't even try to support in b43 yet.

Can I treat code as pure-GPL and do not care about that
maybe-not-GPL-compatible statement in header?


>> > If so, why?  You don't want to support the same devices in the b43
>> > driver that the brcm80211 driver does, do you?
>>
>> I do. I see many advantages of that plus most of the code is already
>> here coming from RE.
>
> "RE"?

Reverse-engineering. (Almost?) whole b43 was written using
clean-room-reverse-engineering. Code is based on specs from
http://bcm-v4.sipsolutions.net/ .


--
Rafał

2010-10-14 17:06:03

by Rafał Miłecki

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

2010/10/14 Greg KH <[email protected]>:
> On Thu, Oct 14, 2010 at 06:40:14PM +0200, Rafał Miłecki wrote:
>> W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
>> <[email protected]> napisał:
>> > Doesn't brcm80211 contain register names for B2055?
>>
>> I've checked brcm80211 and noticed defines in
>> drivers/staging/brcm80211/phy/wlc_phy_radio.h.
>>
>> Whole brcm80211 driver is licensed as:
>> MODULE_LICENSE("Dual BSD/GPL");
>>
>> Mentioned file contains following comments:
>> +/*
>> + * Copyright (c) 2010 Broadcom Corporation
>> + *
>> + * Permission to use, copy, modify, and/or distribute this software for any
>> + * purpose with or without fee is hereby granted, provided that the above
>> + * copyright notice and this permission notice appear in all copies.
>>
>> Our b43 driver is licensed as:
>> MODULE_LICENSE("GPL");
>> and I am not sure if permission above is actually GPL-compatible. The
>> best option would be to add defines from wlc_phy_radio.h and include
>> Broadcom's copyright. However comment above wants us to include info
>> about free copying/modifying/using which is not GPL-compatible.
>>
>> Is there any way to solve this issue?
>
> I don't understand, are you just wanting to use the names in the .h file
> for the registers?

Yes. I want to put lines like:
#define RADIO_2056_RX0 (0x6 << 12)
in my radio_2056.h


> If so, why?  You don't want to support the same devices in the b43
> driver that the brcm80211 driver does, do you?

I do. I see many advantages of that plus most of the code is already
here coming from RE.

Finishing N-PHY support in b43 does not need much work plus:
1) We support SSB devices
2) We support older (LP/G-phy) devices
3) We share infrastructure (easier to maintain)
4) We probably could support modes like AP

--
Rafał

2010-10-14 18:15:11

by John W. Linville

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, Oct 14, 2010 at 07:38:49PM +0200, Rafał Miłecki wrote:
> 2010/10/14 Greg KH <[email protected]>:

> > I don't think that bitfields are copyrightable :)
>
> What about rest of the code? brcm80211 seems to support even newer
> devices we don't even try to support in b43 yet.
>
> Can I treat code as pure-GPL and do not care about that
> maybe-not-GPL-compatible statement in header?

IANAL, but I think you should include the copyright statment with a
comment like "some portions covered by the following" at the top of
the files including such code. Beyond that, I think you are fine
including it under GPL terms (which are merely more restrictive,
neither less restrictive nor incompatible).

John
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2010-10-14 22:09:38

by Dan Williams

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, 2010-10-14 at 10:17 -0700, Greg KH wrote:
> On Thu, Oct 14, 2010 at 07:06:00PM +0200, Rafał Miłecki wrote:
> > 2010/10/14 Greg KH <[email protected]>:
> > > On Thu, Oct 14, 2010 at 06:40:14PM +0200, Rafał Miłecki wrote:
> > >> W dniu 11 października 2010 18:24 użytkownik Gábor Stefanik
> > >> <[email protected]> napisał:
> > >> > Doesn't brcm80211 contain register names for B2055?
> > >>
> > >> I've checked brcm80211 and noticed defines in
> > >> drivers/staging/brcm80211/phy/wlc_phy_radio.h.
> > >>
> > >> Whole brcm80211 driver is licensed as:
> > >> MODULE_LICENSE("Dual BSD/GPL");
> > >>
> > >> Mentioned file contains following comments:
> > >> +/*
> > >> + * Copyright (c) 2010 Broadcom Corporation
> > >> + *
> > >> + * Permission to use, copy, modify, and/or distribute this software for any
> > >> + * purpose with or without fee is hereby granted, provided that the above
> > >> + * copyright notice and this permission notice appear in all copies.
> > >>
> > >> Our b43 driver is licensed as:
> > >> MODULE_LICENSE("GPL");
> > >> and I am not sure if permission above is actually GPL-compatible. The
> > >> best option would be to add defines from wlc_phy_radio.h and include
> > >> Broadcom's copyright. However comment above wants us to include info
> > >> about free copying/modifying/using which is not GPL-compatible.
> > >>
> > >> Is there any way to solve this issue?
> > >
> > > I don't understand, are you just wanting to use the names in the .h file
> > > for the registers?
> >
> > Yes. I want to put lines like:
> > #define RADIO_2056_RX0 (0x6 << 12)
> > in my radio_2056.h
>
> I don't think that bitfields are copyrightable :)

Right. If you're just looking to include constants then you can copy
and paste them all over the place. It might be nice give Broadcom a
shout-out in the header, but pure numbers like this (command
definitions, register values, bitfields, constants, etc) simply aren't
copyrightable, just like you can't copyright a telephone book.

Dan



2010-10-14 18:19:22

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Licensing wlc_phy_radio.h and brcm80211 (was: [PATCH 3/3] b43: N-PHY: add 2055 radio regs)

On Thu, Oct 14, 2010 at 11:14 AM, John W. Linville
<[email protected]> wrote:
> On Thu, Oct 14, 2010 at 07:38:49PM +0200, Rafał Miłecki wrote:
>> 2010/10/14 Greg KH <[email protected]>:
>
>> > I don't think that bitfields are copyrightable :)
>>
>> What about rest of the code? brcm80211 seems to support even newer
>> devices we don't even try to support in b43 yet.
>>
>> Can I treat code as pure-GPL and do not care about that
>> maybe-not-GPL-compatible statement in header?
>
> IANAL, but I think you should include the copyright statment with a
> comment like "some portions covered by the following" at the top of
> the files including such code.  Beyond that, I think you are fine
> including it under GPL terms (which are merely more restrictive,
> neither less restrictive nor incompatible).

Agreed, for an example of where this was done check the ar9170 driver,
Johannes took ISC licensed code from Otus and GPL'd it. You really can
only GPL the code if you are making copyrightable changes to it though
so best is if you leave the header as-is with the existing license
unless you are making tons of changes. For further details you can
refer to these guidelines:

http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html

Luis