Messages in this thread | | | Date | Fri, 14 Mar 2003 08:19:04 +0000 | From | Christoph Hellwig <> | Subject | Re: [PATCH] i2c driver changes for 2.5.64 |
| |
On Thu, Mar 13, 2003 at 04:55:00PM -0800, Greg KH wrote: > +/* Detect whether a ALI15X3 can be found, and initialize it, where necessary. > + Note the differences between kernels with the old PCI BIOS interface and > + newer kernels with the real PCI interface. In compat.h some things are > + defined to make the transition easier. */
This comment seems a bit outdated..
> +int ali15x3_setup(void)
Should be static like everything in this file (and merged into ali15x3_probe anyway).
> +{ > + u16 a; > + unsigned char temp; > + > + struct pci_dev *ALI15X3_dev; > + > + /* First check whether we can access PCI at all */ > + if (pci_present() == 0) { > + printk("i2c-ali15x3.o: Error: No PCI-bus found!\n"); > + return -ENODEV; > + }
You're calling this from pci_driver->probe, so you will never get here without PCI hardware.
> + /* Look for the ALI15X3, M7101 device */ > + ALI15X3_dev = NULL; > + ALI15X3_dev = pci_find_device(PCI_VENDOR_ID_AL, > + PCI_DEVICE_ID_AL_M7101, ALI15X3_dev); > + if (ALI15X3_dev == NULL) { > + printk("i2c-ali15x3.o: Error: Can't detect ali15x3!\n"); > + return -ENODEV; > + }
Calling pci_find_device in ->probe looks buggy to me. What are you trying to do?
> +/* Is SMB Host controller enabled? */ > + pci_read_config_byte(ALI15X3_dev, SMBHSTCFG, &temp); > + if ((temp & 1) == 0) {
What about proper indentation for the comments?
> +/* Internally used pause function */ > +void ali15x3_do_pause(unsigned int amount) > +{ > + current->state = TASK_INTERRUPTIBLE; > + schedule_timeout(amount); > +}
I think this should be moved to linux/kernel.h as delay() - I've seen it duplicated in so much code (including XFS)
> +#ifdef DEBUG > + printk > + ("i2c-ali15x3.o: Transaction (pre): STS=%02x, CNT=%02x, CMD=%02x, ADD=%02x, DAT0=%02x, " > + "DAT1=%02x\n", inb_p(SMBHSTSTS), inb_p(SMBHSTCNT), > + inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0), > + inb_p(SMBHSTDAT1)); > +#endif
use pr_debug() here.
> +static struct pci_device_id ali15x3_ids[] __devinitdata = { > + { 0, } > +};
Umm?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |