rpms/kernel/devel kernel.spec, 1.1571, 1.1572 via-sdmmc.patch, 1.2, 1.3

Chuck Ebbert cebbert at fedoraproject.org
Tue Jun 16 21:39:08 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5797

Modified Files:
	kernel.spec via-sdmmc.patch 
Log Message:
Update via-sdmmc driver


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1571
retrieving revision 1.1572
diff -u -p -r1.1571 -r1.1572
--- kernel.spec	15 Jun 2009 13:53:19 -0000	1.1571
+++ kernel.spec	16 Jun 2009 21:38:37 -0000	1.1572
@@ -1827,6 +1827,9 @@ fi
 # and build.
 
 %changelog
+* Tue Jun 16 2009 Chuck Ebbert <cebbert at redhat.com>
+- Update via-sdmmc driver
+
 * Mon Jun 15 2009 Jarod Wilson <jarod at redhat.com>
 - Update lirc patches w/new imon hotness
 

via-sdmmc.patch:

Index: via-sdmmc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/via-sdmmc.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- via-sdmmc.patch	12 Jun 2009 21:18:48 -0000	1.2
+++ via-sdmmc.patch	16 Jun 2009 21:38:37 -0000	1.3
@@ -1,20 +1,32 @@
 Subject: [MMC] via-sdmmc: v5 patch from lkml / April 01
-Now at patch ../patches/1-linux-2.6-via.git-c86dc84dad56ae01978456400a5a08f93cf04a59.patch
+Now at patch ../patches/01-linux-2.6-via.git-c86dc84dad56ae01978456400a5a08f93cf04a59.patch
 
 Subject: via-sdmmc: some cosmetic cleanups
-Now at patch ../patches/2-linux-2.6-via.git-50c0d950d0465929fe7e47ac5cbb64d8b48d6ddc.patch
+Now at patch ../patches/02-linux-2.6-via.git-50c0d950d0465929fe7e47ac5cbb64d8b48d6ddc.patch
 
 Subject: via-sdmmc: high-speed SD clock support, avoid overclocking
-Now at patch ../patches/3-linux-2.6-via.git-2ef0b437301d59814fab01401dcd458b7f7af73f.patch
+Now at patch ../patches/03-linux-2.6-via.git-2ef0b437301d59814fab01401dcd458b7f7af73f.patch
 
 Subject: via-sdmmc: Fix SD highspeed support
-Now at patch ../patches/4-linux-2.6-via.git-93c0e75de32e746d70379c59a1e6986eae6ead74.patch
+Now at patch ../patches/04-linux-2.6-via.git-93c0e75de32e746d70379c59a1e6986eae6ead74.patch
 
 Subject: [MMC] via-sdmmc: Fix syslog in case debugging is enabled
-Now at patch ../patches/5-linux-2.6-via.git-5ea96d44e4062a60889306ddbf6cb45ba78def8f.patch
+Now at patch ../patches/05-linux-2.6-via.git-5ea96d44e4062a60889306ddbf6cb45ba78def8f.patch
 
 Subject: mmc: via-sdmmc: Add 500ms card detection delay
-Now at patch ../patches/6-linux-2.6-via.git-306f169772343398f8786ac76d8f0ce19abf5697.patch
+Now at patch ../patches/06-linux-2.6-via.git-306f169772343398f8786ac76d8f0ce19abf5697.patch
+
+Subject: mmc: via-sdmmc: Rename register definition for more clarity
+Now at patch ../patches/07-linux-2.6-via.git-7f2a6ca468c282cb5176fa4059fd57b9b7026677.patch
+
+Subject: mmc: via-sdmmc: Make sure we actually power off when requested
+Now at patch ../patches/08-linux-2.6-via.git-0a5ee01234050c19e0b7e9a9168086e5df620145.patch
+
+Subject: mmc: via-mmc: Make sure we switch back from 3.3V to 1.8V
+Now at patch ../patches/09-linux-2.6-via.git-9799bc252796a2c4f9719755785d91febff454fe.patch
+
+Subject: mmc: via-sdmmc: Reorder module removal code
+Now at patch ../patches/10-linux-2.6-via.git-7807bb5f02592f553ee1954bf6cbf98bb6e0c875.patch
 
 --- work-2.6.29.4.orig/drivers/mmc/host/Kconfig
 +++ work-2.6.29.4/drivers/mmc/host/Kconfig
@@ -45,7 +57,7 @@ Now at patch ../patches/6-linux-2.6-via.
  
 --- /dev/null
 +++ work-2.6.29.4/drivers/mmc/host/via-sdmmc.c
-@@ -0,0 +1,1329 @@
+@@ -0,0 +1,1336 @@
 +/*
 + *  drivers/mmc/host/via-sdmmc.c - VIA SD/MMC Card Reader driver
 + *  Copyright (c) 2008, VIA Technologies Inc. All Rights Reserved.
@@ -277,13 +289,13 @@ Now at patch ../patches/6-linux-2.6-via.
 +#define VIA_CRDR_POW_180	0
 +#define VIA_CRDR_POW_330	1
 +/*
-+ * POWOFF : Power on/off select
++ * PAD_PWRON : Pad Power on/off select
 + * 0 : Power off
 + * 1 : Power on
 +  * NOTE : No mater what the actual value should be, this bit always
 + * read as 0. This is a hardware bug.
 + */
-+#define VIA_CRDR_PCICLKGATT_POWOFF	0x20
++#define VIA_CRDR_PCICLKGATT_PAD_PWRON	0x20
 +
 +#define VIA_CRDR_PCISDCCLK	0x5
 +
@@ -418,7 +430,7 @@ Now at patch ../patches/6-linux-2.6-via.
 +
 +	pm_pcictrl_reg->pciclkgat_reg = readb(addrbase + VIA_CRDR_PCICLKGATT);
 +	pm_pcictrl_reg->pciclkgat_reg |=
-+		VIA_CRDR_PCICLKGATT_POWSEL | VIA_CRDR_PCICLKGATT_POWOFF;
++		VIA_CRDR_PCICLKGATT_POWSEL | VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	pm_pcictrl_reg->pcisdclk_reg = readb(addrbase + VIA_CRDR_PCISDCCLK);
 +	pm_pcictrl_reg->pcidmaclk_reg = readb(addrbase + VIA_CRDR_PCIDMACLK);
 +	pm_pcictrl_reg->pciintctrl_reg = readb(addrbase + VIA_CRDR_PCIINTCTRL);
@@ -724,7 +736,7 @@ Now at patch ../patches/6-linux-2.6-via.
 +}
 +
 +static void via_sdc_set_power(struct via_crdr_mmc_host *host,
-+	unsigned short power)
++			      unsigned short power, unsigned int on)
 +{
 +	unsigned long flags;
 +	u8 gatt, pwr = VIA_CRDR_POW_180;
@@ -751,9 +763,14 @@ Now at patch ../patches/6-linux-2.6-via.
 +	host->power = pwr;
 +
 +	gatt = readb(host->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
-+	gatt |= VIA_CRDR_PCICLKGATT_POWOFF;
++	if (on)
++		gatt |= VIA_CRDR_PCICLKGATT_PAD_PWRON;
++	else
++		gatt &= ~VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	if (pwr == VIA_CRDR_POW_330)
 +		gatt |= VIA_CRDR_PCICLKGATT_POWSEL;
++	else
++		gatt &= ~VIA_CRDR_PCICLKGATT_POWSEL;
 +	writeb(gatt, host->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
 +
 +	mmiowb();
@@ -819,7 +836,9 @@ Now at patch ../patches/6-linux-2.6-via.
 +	spin_unlock_irqrestore(&host->lock, flags);
 +
 +	if (ios->power_mode != MMC_POWER_OFF)
-+		via_sdc_set_power(host, ios->vdd);
++		via_sdc_set_power(host, ios->vdd, 1);
++	else
++		via_sdc_set_power(host, ios->vdd, 0);
 +}
 +
 +static int via_sdc_get_ro(struct mmc_host *mmc)
@@ -860,7 +879,7 @@ Now at patch ../patches/6-linux-2.6-via.
 +
 +	spin_unlock_irqrestore(&host->lock, flags);
 +
-+	gatt = VIA_CRDR_PCICLKGATT_POWOFF;
++	gatt = VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	if (host->power == VIA_CRDR_POW_330)
 +		gatt |= VIA_CRDR_PCICLKGATT_POWSEL;
 +	writeb(gatt, host->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
@@ -1181,7 +1200,7 @@ Now at patch ../patches/6-linux-2.6-via.
 +
 +	sdhost->power = VIA_CRDR_POW_330;
 +
-+	gatt = VIA_CRDR_PCICLKGATT_POWSEL | VIA_CRDR_PCICLKGATT_POWOFF;
++	gatt = VIA_CRDR_PCICLKGATT_POWSEL | VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	writeb(gatt, sdhost->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
 +	msleep(3);
 +	gatt |= VIA_CRDR_PCICLKGATT_SFTRST;
@@ -1229,19 +1248,19 @@ Now at patch ../patches/6-linux-2.6-via.
 +
 +	sdhost = pci_get_drvdata(pcidev);
 +
++	mmc_remove_host(sdhost->mmc);
++
++	free_irq(pcidev->irq, sdhost);
++	
 +	tasklet_kill(&sdhost->finish_tasklet);
 +
 +	if (&sdhost->timer)
 +		del_timer_sync(&sdhost->timer);
 +
-+	mmc_remove_host(sdhost->mmc);
-+
-+	free_irq(pcidev->irq, sdhost);
-+
 +	writeb(0x0, sdhost->pcictrl_mmiobase + VIA_CRDR_PCIINTCTRL);
 +
 +	gatt = readb(sdhost->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
-+	gatt &= ~VIA_CRDR_PCICLKGATT_POWOFF;
++	gatt &= ~VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	writeb(gatt, sdhost->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
 +
 +	iounmap(sdhost->mmiobase);
@@ -1315,7 +1334,7 @@ Now at patch ../patches/6-linux-2.6-via.
 +
 +	sdhost = pci_get_drvdata(pcidev);
 +
-+	gatt = VIA_CRDR_PCICLKGATT_POWOFF;
++	gatt = VIA_CRDR_PCICLKGATT_PAD_PWRON;
 +	if (sdhost->power == VIA_CRDR_POW_330)
 +		gatt |= VIA_CRDR_PCICLKGATT_POWSEL;
 +	writeb(gatt, sdhost->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);




More information about the fedora-extras-commits mailing list