b43: Use spatch to convert register accesses
cover b43: Use spatch to convert register accesses
Some time ago I rejected a bunch of patches that converted the PHY/radio register accesses to the new API. That was due to the patches being created manually. This introduces a huge potential to add new bugs.
However, this is an excellent task for coccinelle/spatch.
So here's a series of patches, to convert the API usage, that were generated with spatch. This should keep the chances of breaking something as low as possible.
This reduces the .ko size by about 6 kiB.
The used semantic patches will be included in the patch headers.
John, please queue these patches for the next feature release.
Signature · 1 line
Greetings, Michael.
Quoted 8 lines · On Friday 20 February 2009 19:19:15 Michael Buesch wrote:
Some time ago I rejected a bunch of patches that converted the PHY/radio register accesses to the new API. That was due to the patches being created manually. This introduces a huge potential to add new bugs.
However, this is an excellent task for coccinelle/spatch.
So here's a series of patches, to convert the API usage, that were generated with spatch. This should keep the chances of breaking something as low as possible.
Quoted 6 lines
This reduces the .ko size by about 6 kiB.
The used semantic patches will be included in the patch headers.
John, please queue these patches for the next feature release.
Hm, the patches didn't get through linux-wireless. Possibly due to their size. You can find them here:
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008696.html
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008695.html
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008697.html
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008698.html
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008700.html
https://lists.berlios.de/pipermail/bcm43xx-dev/2009-February/008699.html
Signature · 1 line
Greetings, Michael.
Quoted 2 lines · Michael Buesch
Some time ago I rejected a bunch of patches that converted the PHY/radio register accesses to the new API. That was due to the patch=
es
Quoted 1 line
being created manually. This introduces a huge potential to add new b=
ugs.
Quoted 3 lines
=20
However, this is an excellent task for coccinelle/spatch. So here's a series of patches, to convert the API usage, that were ge=
nerated
Quoted 1 line
with spatch. This should keep the chances of breaking something as lo=
w as possible.
Quoted 6 lines
=20
This reduces the .ko size by about 6 kiB.
=20
The used semantic patches will be included in the patch headers. =20
John, please queue these patches for the next feature release.
Michael,
With those patches applied on an x86_64 system, I get the following war= nings:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
CC [M] drivers/net/wireless/b43/phy_a.odrivers/net/wireless/b43/phy_g.c: In function =E2=80=98b43_radio_interference_mitigation_enable=E2=80=99:drivers/net/wireless/b43/phy_g.c:974: warning: large integer implicitly truncated to unsigned type
CC [M] drivers/net/wireless/b43/wa.odrivers/net/wireless/b43/wa.c: In function =E2=80=98b43_wa_altagc=E2=80= =99:drivers/net/wireless/b43/wa.c:391: warning: large integer implicitly tr= uncated
to unsigned typedrivers/net/wireless/b43/wa.c:409: warning: large integer implicitly tr= uncated
to unsigned typedrivers/net/wireless/b43/wa.c:411: warning: large integer implicitly tr= uncated
to unsigned typedrivers/net/wireless/b43/wa.c:421: warning: large integer implicitly tr= uncated
to unsigned type =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D
All of these occur where there is a constant of the form ~0xYXXX with Y=
in the
range 8-F. To get rid of the warning, either use a u16 cast, or manuall= y
complement the constant.
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-wireles= s" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 3 lines · On Friday 20 February 2009 21:10:13 Larry Finger wrote:
Quoted 2 lines · Michael Buesch
Some time ago I rejected a bunch of patches that converted the PHY/radio register accesses to the new API. That was due to the pat=
ches
Quoted 1 line
Quoted 1 line
being created manually. This introduces a huge potential to add new=
bugs.
Quoted 3 lines
Quoted 3 lines
=20
However, this is an excellent task for coccinelle/spatch. So here's a series of patches, to convert the API usage, that were =
generated
Quoted 1 line
Quoted 1 line
with spatch. This should keep the chances of breaking something as =
low as possible.
Quoted 10 lines
Quoted 6 lines
=20
This reduces the .ko size by about 6 kiB.
=20
The used semantic patches will be included in the patch headers. =20
John, please queue these patches for the next feature release.=20
Michael,
=20
With those patches applied on anx86_64system, I get the following w=
arnings:
Quoted 3 lines
=20
=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
Quoted 4 lines
CC [M]
drivers/net/wireless/b43/phy_a.odrivers/net/wireless/b43/phy_g.c: In function =E2=80=98b43_radio_interference_mitigation_enable=E2=80=99:drivers/net/wireless/b43/phy_g.c:974: warning: large integer implicit=
ly
Quoted 3 lines
truncated to unsigned type
CC [M]drivers/net/wireless/b43/wa.odrivers/net/wireless/b43/wa.c: In function =E2=80=98b43_wa_altagc=E2=80=
=99:
Quoted 1 line
drivers/net/wireless/b43/wa.c:391: warning: large integer implicitly =
truncated
Quoted 2 lines
to unsigned type
drivers/net/wireless/b43/wa.c:409: warning: large integer implicitly =
truncated
Quoted 2 lines
to unsigned type
drivers/net/wireless/b43/wa.c:411: warning: large integer implicitly =
truncated
Quoted 2 lines
to unsigned type
drivers/net/wireless/b43/wa.c:421: warning: large integer implicitly =
truncated
Quoted 2 lines
to unsigned type =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
Quoted 2 lines
=20
All of these occur where there is a constant of the form ~0xYXXX with=
Y in the
Quoted 1 line
range 8-F. To get rid of the warning, either use a u16 cast, or manua=
lly
Quoted 1 line
complement the constant.
Yes I know this. These warnings are harmless and I'll fix it in a separ= ate patch.
These patches were supposed to be computer-generated to reduce the poss= ibility of random breakage.
--=20
Greetings, Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireles= s" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 8 lines · Michael Buesch
Some time ago I rejected a bunch of patches that converted the PHY/radio register accesses to the new API. That was due to the patches being created manually. This introduces a huge potential to add new bugs.
However, this is an excellent task for coccinelle/spatch.
So here's a series of patches, to convert the API usage, that were generated with spatch. This should keep the chances of breaking something as low as possible.
Quoted 6 lines
This reduces the .ko size by about 6 kiB.
The used semantic patches will be included in the patch headers.
John, please queue these patches for the next feature release.
Shoot, I also redid the patches with spatch but never resubmitted.
Oh well.
Harvey