Skip to contentSkip to conversation

b43: Use spatch to convert register accesses

PATCH In review Michael Buesch 3 participants 5 messages Feb 20, 2009 – Feb 21, 2009

lore
Share & tools
lore
#0 lore raw

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.
#1 lore raw
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.
#2 lore raw
In reply to Michael Buesch
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.o
drivers/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.o
drivers/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 type
drivers/net/wireless/b43/wa.c:409: warning: large integer implicitly tr= uncated
to unsigned type
drivers/net/wireless/b43/wa.c:411: warning: large integer implicitly tr= uncated
to unsigned type
drivers/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

#3 lore raw
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 an x86_64 system, 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.o
drivers/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.o
drivers/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

#4 lore raw
In reply to Michael Buesch
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