[PATCH 1/3] PNP: cleanup pnp_fixup_device()

Rene Herman
2008-05-10T21:46:55Z

On 06-05-08 19:15, Bjorn Helgaas wrote:

> It's easier to comment if the patch is inline rather than attached.

I hope that works...

> I'm sort of attached to keeping this similar to pci_do_fixups() and
> keeping the symbol, even though the #ifdef is ugly. I do like getting
> rid of the "0x%p" and adding the PNP ID.

Okay. This better? Makes it a bit more similar even.

===
PNP: cleanup pnp_fixup_device()

Make it look a bit more like pci_fixup_device/pci_do_fixups. Also
print the PnP ID and delete the () from the "foo+0x0/0x1234()".

Signed-off-by: Rene Herman <rene.herman@gmail.com>
---
drivers/pnp/quirks.c | 20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index d049a22..a1af2f9 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -212,20 +212,16 @@ static struct pnp_fixup pnp_fixups[] = {

void pnp_fixup_device(struct pnp_dev *dev)
{
- int i = 0;
- void (*quirk)(struct pnp_dev *);
-
- while (*pnp_fixups[i].id) {
- if (compare_pnp_id(dev->id, pnp_fixups[i].id)) {
- quirk = pnp_fixups[i].quirk_function;
+ struct pnp_fixup *f;

+ for (f = pnp_fixups; *f->id; f++) {
+ if (!compare_pnp_id(dev->id, f->id))
+ continue;
#ifdef DEBUG
- dev_dbg(&dev->dev, "calling ");
- print_fn_descriptor_symbol("%s()\n",
- (unsigned long) *quirk);
+ dev_dbg(&dev->dev, "%s: calling ", f->id);
+ print_fn_descriptor_symbol("%s\n",
+ (unsigned long) f->quirk_function);
#endif
- (*quirk)(dev);
- }
- i++;
+ f->quirk_function(dev);
}
}