From: Nicolas Thill Date: Fri, 2 May 2008 01:10:28 +0000 (+0000) Subject: (temporary) fix for OLPC-XO build X-Git-Tag: reboot~26628 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d5cb63617dda89ce6686f11b272a4c0cb5fd7042;p=openwrt%2Fstaging%2Fchunkeey.git (temporary) fix for OLPC-XO build SVN-Revision: 11000 --- diff --git a/target/linux/olpc/config-2.6.23 b/target/linux/olpc/config-2.6.23 index f50d2277ce..a0113db20f 100644 --- a/target/linux/olpc/config-2.6.23 +++ b/target/linux/olpc/config-2.6.23 @@ -198,6 +198,7 @@ CONFIG_HW_RANDOM_VIA=y CONFIG_I2C=y # CONFIG_I2C_ALGOBIT is not set CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y # CONFIG_I6300ESB_WDT is not set # CONFIG_I8K is not set # CONFIG_IB700_WDT is not set @@ -523,6 +524,7 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_SUSPEND is not set CONFIG_USB_UHCI_HCD=y # CONFIG_USER_NS is not set +CONFIG_V4L_USB_DRIVERS=y # CONFIG_VFAT_FS is not set CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 @@ -530,7 +532,6 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 CONFIG_VGA_CONSOLE=y # CONFIG_VGA_NOPROBE is not set # CONFIG_VIA_RHINE is not set -# CONFIG_VIDEO_DEV is not set CONFIG_VIDEO_SELECT=y CONFIG_VIRTUALIZATION=y CONFIG_VM86=y diff --git a/target/linux/olpc/patches/100-olpc.patch b/target/linux/olpc/patches/100-olpc.patch index abbf61f808..0d163e6f2b 100644 --- a/target/linux/olpc/patches/100-olpc.patch +++ b/target/linux/olpc/patches/100-olpc.patch @@ -738,22 +738,6 @@ index 73e248f..f7afde3 100644 + The driver supports both read as well as write commands. endif # MISC_DEVICES -diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c -index 93fe2e5..e17eb8e 100644 ---- a/drivers/mmc/card/block.c -+++ b/drivers/mmc/card/block.c -@@ -229,6 +229,11 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) - if (brq.data.blocks > card->host->max_blk_count) - brq.data.blocks = card->host->max_blk_count; - -+ if (mmc_card_sd(card) && !card->host->ios.clock) { -+ printk(KERN_ERR "%s: I/O to stopped card\n", -+ req->rq_disk->disk_name); -+ goto cmd_err; -+ } - mmc_set_data_timeout(&brq.data, card, rq_data_dir(req) != READ); - - /* diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 20a7d89..9abbb58 100644 --- a/drivers/mmc/host/sdhci.c @@ -2236,31 +2220,6 @@ index 0537fac..7d194cf 100644 return 0; } -diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c -index 1938d6d..cc01dbd 100644 ---- a/drivers/net/forcedeth.c -+++ b/drivers/net/forcedeth.c -@@ -3556,10 +3556,12 @@ static int nv_request_irq(struct net_device *dev, int intr_test) - } - if (ret != 0 && np->msi_flags & NV_MSI_CAPABLE) { - if ((ret = pci_enable_msi(np->pci_dev)) == 0) { -+ pci_intx(np->pci_dev, 0); - np->msi_flags |= NV_MSI_ENABLED; - if (request_irq(np->pci_dev->irq, handler, IRQF_SHARED, dev->name, dev) != 0) { - printk(KERN_INFO "forcedeth: request_irq failed %d\n", ret); - pci_disable_msi(np->pci_dev); -+ pci_intx(np->pci_dev, 1); - np->msi_flags &= ~NV_MSI_ENABLED; - goto out_err; - } -@@ -3601,6 +3603,7 @@ static void nv_free_irq(struct net_device *dev) - free_irq(np->pci_dev->irq, dev); - if (np->msi_flags & NV_MSI_ENABLED) { - pci_disable_msi(np->pci_dev); -+ pci_intx(np->pci_dev, 1); - np->msi_flags &= ~NV_MSI_ENABLED; - } - } diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 7dcaa09..eb69d4d 100644 --- a/drivers/pci/quirks.c