Re: CONFIG_BLK_DEV_SL82C105 should not be PPC/ARM specific

From: Russell King (rmk@arm.linux.org.uk)
Date: Thu Sep 06 2001 - 18:08:17 EST


On Thu, Sep 06, 2001 at 06:30:01PM -0400, Mark W. Eichin wrote:
> and if I bludgeon the config so that it actually builds, it does work
> (under 2.2, regrettably in pio-only mode, but I'll try 2.4.9 shortly)

Please report back when you've done your 2.4.9 testing; you might like
to apply the patch PaulM has been bouncing around here trying to get
Linus to accept.

--
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

attached mail follows:


Currently, drivers/ide/sl82c105.c has two sets of code in it: some good code done by Russell King, and some old rubbishy code. Russell's code is inside #ifdef CONFIG_ARCH_NETWINDER. I tried Russell's code on my Longtrail CHRP PPC box and it not only compiles and links ok (which the old code doesn't), it also works just fine.

So the patch below takes out the CONFIG_ARCH_NETWINDER and the old code, so we use Russell's code on all platforms. I put this patch out on linux-kernel a couple of weeks ago and no one has complained since. The old code won't link at the moment anyway (it references ide_special_settings which isn't exported from ide-pci.c).

Linus, please apply this patch to your tree.

Paul.

diff -urN linux/drivers/ide/sl82c105.c linuxppc_2_4/drivers/ide/sl82c105.c --- linux/drivers/ide/sl82c105.c Wed Jul 4 14:33:21 2001 +++ linuxppc_2_4/drivers/ide/sl82c105.c Sun Jul 22 17:58:43 2001 @@ -28,7 +28,6 @@ extern char *ide_xfer_verbose (byte xfer_rate); -#ifdef CONFIG_ARCH_NETWINDER /* * Convert a PIO mode and cycle time to the required on/off * times for the interface. This has protection against run-away @@ -272,37 +271,4 @@ { hwif->tuneproc = tune_sl82c105; } - -#else - -unsigned int pci_init_sl82c105(struct pci_dev *dev, const char *msg) -{ - return ide_special_settings(dev, msg); -} - -void dma_init_sl82c105(ide_hwif_t *hwif, unsigned long dma_base) -{ - ide_setup_dma(hwif, dma_base, 8); -} - -void __init ide_init_sl82c105(ide_hwif_t *hwif) -{ - struct pci_dev *dev = hwif->pci_dev; - unsigned short t16; - unsigned int t32; - pci_read_config_word(dev, PCI_COMMAND, &t16); - printk("SL82C105 command word: %x\n",t16); - t16 |= PCI_COMMAND_IO; - pci_write_config_word(dev, PCI_COMMAND, t16); - /* IDE timing */ - pci_read_config_dword(dev, 0x44, &t32); - printk("IDE timing: %08x, resetting to PIO0 timing\n",t32); - pci_write_config_dword(dev, 0x44, 0x03e4); -#ifndef CONFIG_MBX - pci_read_config_dword(dev, 0x40, &t32); - printk("IDE control/status register: %08x\n",t32); - pci_write_config_dword(dev, 0x40, 0x10ff08a1); -#endif /* CONFIG_MBX */ -} -#endif

- 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/

- 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/



This archive was generated by hypermail 2b29 : Fri Sep 07 2001 - 21:00:38 EST