[kernel] r20138 - in dists/sid/linux: . debian debian/config debian/config/kernelarch-x86 debian/patches debian/patches/bugfix/all debian/patches/bugfix/alpha debian/patches/bugfix/ia64 debian/patches/bugfix/mips debian/patches/debian debian/patches/debian/dfsg debian/patches/features/all debian/patches/features/all/alx debian/patches/features/all/aufs3 debian/patches/features/all/xen debian/templates

Ben Hutchings benh at alioth.debian.org
Thu May 30 01:34:59 UTC 2013


Author: benh
Date: Thu May 30 01:34:59 2013
New Revision: 20138

Log:
Merge changes from experimental

3.8.y is dead, long live 3.9.y.
Drop 'experimental' from the version.

Added:
   dists/sid/linux/debian/patches/debian/powerpcspe-omit-uimage.patch
      - copied unchanged from r20137, dists/trunk/linux/debian/patches/debian/powerpcspe-omit-uimage.patch
Deleted:
   dists/sid/linux/debian/patches/bugfix/all/efi_pstore-Introducing-workqueue-updating-sysfs.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-Handle-duplicate-names-from-get_next_variabl.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-explicitly-calculate-length-of-VariableName.patch
   dists/sid/linux/debian/patches/bugfix/alpha/alpha-use-large-data-model.diff
   dists/sid/linux/debian/patches/bugfix/ia64/nouveau-ACPI-support-is-dependent-on-X86.patch
   dists/sid/linux/debian/patches/bugfix/mips/mips-add-dependencies-for-have_arch_transparent_hugepage.patch
Modified:
   dists/sid/linux/   (props changed)
   dists/sid/linux/debian/README.Debian
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/config/defines
   dists/sid/linux/debian/config/kernelarch-x86/config
   dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
   dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
   dists/sid/linux/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
   dists/sid/linux/debian/patches/debian/efi-autoload-efivars.patch
   dists/sid/linux/debian/patches/debian/efivars-remove-check-for-50-full-on-write.patch
   dists/sid/linux/debian/patches/debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
   dists/sid/linux/debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
   dists/sid/linux/debian/patches/features/all/alx/remove-atl1c-devices-from-alx.patch
   dists/sid/linux/debian/patches/features/all/aufs3/aufs3-add.patch
   dists/sid/linux/debian/patches/features/all/aufs3/aufs3-base.patch
   dists/sid/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch
   dists/sid/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch
   dists/sid/linux/debian/patches/features/all/aufs3/mark-as-staging.patch
   dists/sid/linux/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
   dists/sid/linux/debian/patches/features/all/xen/microcode.patch
   dists/sid/linux/debian/patches/series
   dists/sid/linux/debian/templates/control.source.in

Modified: dists/sid/linux/debian/README.Debian
==============================================================================
--- dists/sid/linux/debian/README.Debian	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/README.Debian	Thu May 30 01:34:59 2013	(r20138)
@@ -43,7 +43,7 @@
 You can rebuild the firmware for the Adaptec AIC7xxx/79xx SCSI Adapters. To
 do so you need to set AIC7XXX_BUILD_FIRMWARE/AIC79XX_BUILD_FIRMWARE config
 options.  Note that this requires to have the development packages for
-berkelydb (libdb4.2-dev) installed.
+Berkeley Database (libdb-dev) installed.
 
 Non-free bits removed
 ---------------------

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/changelog	Thu May 30 01:34:59 2013	(r20138)
@@ -1,5 +1,22 @@
-linux (3.8.13-2) UNRELEASED; urgency=low
+linux (3.9.2-1) UNRELEASED; urgency=low
 
+  * New upstream release: http://kernelnewbies.org/Linux_3.9
+    - ALSA: hda - Add generic parser support to Analog Device codec driver
+      (Closes: #659033)
+    - Input: add support for Cypress PS/2 Trackpads (Closes: #703607)
+  * New upstream stable update:
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.9.1
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.9.2
+
+  [ Ben Hutchings ]
+  * [rt] Disable until it is updated for Linux 3.9 or later
+  * Build-Depend on bc, needed to build kernel/timeconst.h
+  * [x86] Enable VMWARE_VMCI, VSOCKETS, VMWARE_VMCI_VSOCKETS as modules
+    (Closes: #707676)
+  * README.Debian: Correct reference to Berkeley Database development package
+  * aufs: Update to aufs3.9-20130506
+  * [powerpcspe] Prevent building uImage with missing mkimage, thanks to
+    Roland Stigge (Closes: #708094)
   * udeb: Fix yet more configuration errors causing FTBFS:
     - [powerpcspe] Add llc to nic-shared-modules (Closes: #708662)
     - [powerpc/powerpc64] Replace ibmvscsic with ibmvscsi in scsi-modules

Modified: dists/sid/linux/debian/config/defines
==============================================================================
--- dists/sid/linux/debian/config/defines	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/config/defines	Thu May 30 01:34:59 2013	(r20138)
@@ -31,7 +31,7 @@
  rt
 
 [featureset-rt_base]
-enabled: true
+enabled: false
 
 [description]
 part-long-up: This kernel is not suitable for SMP (multi-processor,

Modified: dists/sid/linux/debian/config/kernelarch-x86/config
==============================================================================
--- dists/sid/linux/debian/config/kernelarch-x86/config	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/config/kernelarch-x86/config	Thu May 30 01:34:59 2013	(r20138)
@@ -729,6 +729,11 @@
 CONFIG_INTEL_MEI=m
 
 ##
+## file: drivers/misc/vmw_vmci/Kconfig
+##
+CONFIG_VMWARE_VMCI=m
+
+##
 ## file: drivers/mmc/Kconfig
 ##
 CONFIG_MMC=m
@@ -1684,6 +1689,12 @@
 CONFIG_LAPB=m
 
 ##
+## file: net/vmw_vsock/Kconfig
+##
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+
+##
 ## file: sound/drivers/Kconfig
 ##
 CONFIG_SND_DUMMY=m

Modified: dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
==============================================================================
--- dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -95,7 +95,7 @@
      fw_size = firmware->size / sizeof(u32);
 --- a/drivers/bluetooth/ath3k.c
 +++ b/drivers/bluetooth/ath3k.c
-@@ -317,10 +317,8 @@ static int ath3k_load_patch(struct usb_d
+@@ -325,10 +325,8 @@ static int ath3k_load_patch(struct usb_d
  		fw_version.rom_version);
  
  	ret = request_firmware(&firmware, filename, &udev->dev);
@@ -107,7 +107,7 @@
  
  	pt_version.rom_version = *(int *)(firmware->data + firmware->size - 8);
  	pt_version.build_version = *(int *)
-@@ -379,10 +377,8 @@ static int ath3k_load_syscfg(struct usb_
+@@ -387,10 +385,8 @@ static int ath3k_load_syscfg(struct usb_
  		fw_version.rom_version, clk_value, ".dfu");
  
  	ret = request_firmware(&firmware, filename, &udev->dev);
@@ -231,7 +231,7 @@
  	where = 0;
 --- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
 +++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
-@@ -497,10 +497,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri
+@@ -499,10 +499,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri
  	if (ret) {
  		snprintf(f, sizeof(f), "nouveau/%s", fwname);
  		ret = request_firmware(&fw, f, &device->pdev->dev);
@@ -260,7 +260,7 @@
  		printk(KERN_ERR
 --- a/drivers/gpu/drm/radeon/ni.c
 +++ b/drivers/gpu/drm/radeon/ni.c
-@@ -398,10 +398,6 @@ out:
+@@ -400,10 +400,6 @@ out:
  	platform_device_unregister(pdev);
  
  	if (err) {
@@ -287,7 +287,7 @@
  		       rdev->me_fw->size, fw_name);
 --- a/drivers/gpu/drm/radeon/r600.c
 +++ b/drivers/gpu/drm/radeon/r600.c
-@@ -2099,10 +2099,6 @@ out:
+@@ -2248,10 +2248,6 @@ out:
  	platform_device_unregister(pdev);
  
  	if (err) {
@@ -300,7 +300,7 @@
  		release_firmware(rdev->me_fw);
 --- a/drivers/gpu/drm/radeon/r600_cp.c
 +++ b/drivers/gpu/drm/radeon/r600_cp.c
-@@ -374,10 +374,6 @@ out:
+@@ -376,10 +376,6 @@ out:
  	platform_device_unregister(pdev);
  
  	if (err) {
@@ -313,7 +313,7 @@
  		release_firmware(dev_priv->me_fw);
 --- a/drivers/gpu/drm/radeon/radeon_cp.c
 +++ b/drivers/gpu/drm/radeon/radeon_cp.c
-@@ -528,10 +528,7 @@ static int radeon_cp_init_microcode(drm_
+@@ -530,10 +530,7 @@ static int radeon_cp_init_microcode(drm_
  
  	err = request_firmware(&dev_priv->me_fw, fw_name, &pdev->dev);
  	platform_device_unregister(pdev);
@@ -341,7 +341,7 @@
  	ret = qib_ibsd_ucode_loaded(dd->pport, fw);
 --- a/drivers/input/touchscreen/atmel_mxt_ts.c
 +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
-@@ -954,10 +954,8 @@ static int mxt_load_fw(struct device *de
+@@ -986,10 +986,8 @@ static int mxt_load_fw(struct device *de
  	int ret;
  
  	ret = request_firmware(&fw, fn, dev);
@@ -548,7 +548,7 @@
  		/*
 --- a/drivers/media/dvb-frontends/ds3000.c
 +++ b/drivers/media/dvb-frontends/ds3000.c
-@@ -401,12 +401,8 @@ static int ds3000_firmware_ondemand(stru
+@@ -362,12 +362,8 @@ static int ds3000_firmware_ondemand(stru
  				DS3000_DEFAULT_FIRMWARE);
  	ret = request_firmware(&fw, DS3000_DEFAULT_FIRMWARE,
  				state->i2c->dev.parent);
@@ -609,14 +609,14 @@
  		if (ret) {
 --- a/drivers/media/dvb-frontends/or51211.c
 +++ b/drivers/media/dvb-frontends/or51211.c
-@@ -379,12 +379,8 @@ static int or51211_init(struct dvb_front
- 		       "(%s)...\n", OR51211_DEFAULT_FIRMWARE);
+@@ -375,12 +375,8 @@ static int or51211_init(struct dvb_front
+ 			OR51211_DEFAULT_FIRMWARE);
  		ret = config->request_firmware(fe, &fw,
  					       OR51211_DEFAULT_FIRMWARE);
--		printk(KERN_INFO "or51211:Got Hotplug firmware\n");
+-		pr_info("Got Hotplug firmware\n");
 -		if (ret) {
--			printk(KERN_WARNING "or51211: No firmware uploaded "
--			       "(timeout or file not found?)\n");
+-			pr_warn("No firmware uploaded "
+-				"(timeout or file not found?)\n");
 +		if (ret)
  			return ret;
 -		}
@@ -963,7 +963,7 @@
  		printk(KERN_ERR "ERROR: Firmware size mismatch "
 --- a/drivers/media/pci/cx23885/cx23885-cards.c
 +++ b/drivers/media/pci/cx23885/cx23885-cards.c
-@@ -1681,11 +1681,7 @@ void cx23885_card_setup(struct cx23885_d
+@@ -1795,11 +1795,7 @@ void cx23885_card_setup(struct cx23885_d
  				cinfo.rev, filename);
  
  		ret = request_firmware(&fw, filename, &dev->pci->dev);
@@ -1066,7 +1066,7 @@
  
 --- a/drivers/media/usb/s2255/s2255drv.c
 +++ b/drivers/media/usb/s2255/s2255drv.c
-@@ -2587,10 +2587,8 @@ static int s2255_probe(struct usb_interf
+@@ -2585,10 +2585,8 @@ static int s2255_probe(struct usb_interf
  	}
  	/* load the first chunk */
  	if (request_firmware(&dev->fw_data->fw,
@@ -1080,7 +1080,7 @@
  	pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8];
 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
 +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
-@@ -40,10 +40,8 @@ int s5p_mfc_alloc_and_load_firmware(stru
+@@ -88,10 +88,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
  
  	err = request_firmware((const struct firmware **)&fw_blob,
  				     dev->variant->fw_name, dev->v4l2_dev.dev);
@@ -1089,10 +1089,10 @@
 +	if (err != 0)
  		return -EINVAL;
 -	}
- 	dev->fw_size = dev->variant->buf_size->fw;
  	if (fw_blob->size > dev->fw_size) {
  		mfc_err("MFC firmware is too big to be loaded\n");
-@@ -133,10 +131,8 @@ int s5p_mfc_reload_firmware(struct s5p_m
+ 		release_firmware(fw_blob);
+@@ -121,10 +119,8 @@ int s5p_mfc_reload_firmware(struct s5p_m
  
  	err = request_firmware((const struct firmware **)&fw_blob,
  				     dev->variant->fw_name, dev->v4l2_dev.dev);
@@ -1245,7 +1245,7 @@
  	if (bp->mips_firmware->size < sizeof(*mips_fw) ||
 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
 +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-@@ -11939,11 +11939,8 @@ static int bnx2x_init_firmware(struct bn
+@@ -12166,11 +12166,8 @@ static int bnx2x_init_firmware(struct bn
  	BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
  
  	rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
@@ -1260,7 +1260,7 @@
  	if (rc) {
 --- a/drivers/net/ethernet/broadcom/tg3.c
 +++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -10449,11 +10449,8 @@ static int tg3_request_firmware(struct t
+@@ -10572,11 +10572,8 @@ static int tg3_request_firmware(struct t
  {
  	const __be32 *fw_data;
  
@@ -1289,7 +1289,7 @@
  	*bfi_image_size = fw->size/sizeof(u32);
 --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
-@@ -1030,12 +1030,8 @@ int t3_get_edc_fw(struct cphy *phy, int
+@@ -1034,12 +1034,8 @@ int t3_get_edc_fw(struct cphy *phy, int
  	snprintf(buf, sizeof(buf), get_edc_fw_name(edc_idx));
  
  	ret = request_firmware(&fw, buf, &adapter->pdev->dev);
@@ -1303,7 +1303,7 @@
  
  	/* check size, take checksum in account */
  	if (fw->size > size + 4) {
-@@ -1072,11 +1068,8 @@ static int upgrade_fw(struct adapter *ad
+@@ -1076,11 +1072,8 @@ static int upgrade_fw(struct adapter *ad
  	struct device *dev = &adap->pdev->dev;
  
  	ret = request_firmware(&fw, FW_FNAME, dev);
@@ -1316,7 +1316,7 @@
  	ret = t3_load_fw(adap, fw->data, fw->size);
  	release_firmware(fw);
  
-@@ -1121,11 +1114,8 @@ static int update_tpsram(struct adapter
+@@ -1125,11 +1118,8 @@ static int update_tpsram(struct adapter
  	snprintf(buf, sizeof(buf), TPSRAM_NAME, rev);
  
  	ret = request_firmware(&tpsram, buf, dev);
@@ -1346,7 +1346,7 @@
  	vers = ntohl(hdr->fw_ver);
 --- a/drivers/net/ethernet/intel/e100.c
 +++ b/drivers/net/ethernet/intel/e100.c
-@@ -1289,9 +1289,6 @@ static const struct firmware *e100_reque
+@@ -1293,9 +1293,6 @@ static const struct firmware *e100_reque
  
  	if (err) {
  		if (required) {
@@ -1427,7 +1427,7 @@
  		dev_err(&kaweth->intf->dev, "Firmware too big: %zu\n",
 --- a/drivers/net/wimax/i2400m/fw.c
 +++ b/drivers/net/wimax/i2400m/fw.c
-@@ -1583,11 +1583,8 @@ int i2400m_dev_bootstrap(struct i2400m *
+@@ -1582,11 +1582,8 @@ int i2400m_dev_bootstrap(struct i2400m *
  		}
  		d_printf(1, dev, "trying firmware %s (%d)\n", fw_name, itr);
  		ret = request_firmware(&fw, fw_name, dev);
@@ -1440,7 +1440,7 @@
  		i2400m->fw_name = fw_name;
  		ret = i2400m_fw_bootstrap(i2400m, fw, flags);
  		release_firmware(fw);
-@@ -1630,8 +1627,6 @@ void i2400m_fw_cache(struct i2400m *i240
+@@ -1629,8 +1626,6 @@ void i2400m_fw_cache(struct i2400m *i240
  	kref_init(&i2400m_fw->kref);
  	result = request_firmware(&i2400m_fw->fw, i2400m->fw_name, dev);
  	if (result < 0) {
@@ -1548,7 +1548,7 @@
  	hdr = (struct b43legacy_fw_header *)((*fw)->data);
 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
 +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
-@@ -3208,10 +3208,8 @@ static int brcmf_sdbrcm_download_code_fi
+@@ -3179,10 +3179,8 @@ static int brcmf_sdbrcm_download_code_fi
  
  	ret = request_firmware(&bus->firmware, BRCMF_SDIO_FW_NAME,
  			       &bus->sdiodev->func[2]->dev);
@@ -1560,7 +1560,7 @@
  	bus->fw_ptr = 0;
  
  	memptr = memblock = kmalloc(MEMBLOCK + BRCMF_SDALIGN, GFP_ATOMIC);
-@@ -3327,10 +3325,8 @@ static int brcmf_sdbrcm_download_nvram(s
+@@ -3295,10 +3293,8 @@ static int brcmf_sdbrcm_download_nvram(s
  
  	ret = request_firmware(&bus->firmware, BRCMF_SDIO_NV_NAME,
  			       &bus->sdiodev->func[2]->dev);
@@ -1574,7 +1574,7 @@
  
 --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
 +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
-@@ -807,19 +807,13 @@ static int brcms_request_fw(struct brcms
+@@ -376,19 +376,13 @@ static int brcms_request_fw(struct brcms
  		sprintf(fw_name, "%s-%d.fw", brcms_firmwares[i],
  			UCODE_LOADER_API_VER);
  		status = request_firmware(&wl->fw.fw_bin[i], fw_name, device);
@@ -1598,7 +1598,7 @@
  	}
 --- a/drivers/net/wireless/ipw2x00/ipw2100.c
 +++ b/drivers/net/wireless/ipw2x00/ipw2100.c
-@@ -8464,12 +8464,8 @@ static int ipw2100_get_firmware(struct i
+@@ -8446,12 +8446,8 @@ static int ipw2100_get_firmware(struct i
  
  	rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
  
@@ -1628,7 +1628,7 @@
  		IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size);
 --- a/drivers/net/wireless/iwlegacy/3945-mac.c
 +++ b/drivers/net/wireless/iwlegacy/3945-mac.c
-@@ -1846,7 +1846,6 @@ il3945_read_ucode(struct il_priv *il)
+@@ -1866,7 +1866,6 @@ il3945_read_ucode(struct il_priv *il)
  		sprintf(buf, "%s%u%s", name_pre, idx, ".ucode");
  		ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev);
  		if (ret < 0) {
@@ -1638,7 +1638,7 @@
  			else
 --- a/drivers/net/wireless/iwlwifi/iwl-drv.c
 +++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
-@@ -846,13 +846,8 @@ static void iwl_req_fw_callback(const st
+@@ -852,13 +852,8 @@ static void iwl_req_fw_callback(const st
  
  	memset(&pieces, 0, sizeof(pieces));
  
@@ -1681,7 +1681,7 @@
  	adapter->firmware = firmware;
 --- a/drivers/net/wireless/mwl8k.c
 +++ b/drivers/net/wireless/mwl8k.c
-@@ -5320,16 +5320,12 @@ static int mwl8k_firmware_load_success(s
+@@ -5497,16 +5497,12 @@ static int mwl8k_firmware_load_success(s
  static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
  {
  	struct mwl8k_priv *priv = context;
@@ -1699,7 +1699,7 @@
  		priv->fw_helper = fw;
  		rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
  				      true);
-@@ -5364,11 +5360,8 @@ static void mwl8k_fw_state_machine(const
+@@ -5541,11 +5537,8 @@ static void mwl8k_fw_state_machine(const
  		break;
  
  	case FW_STATE_LOADING_ALT:
@@ -1712,7 +1712,7 @@
  		priv->fw_ucode = fw;
  		rc = mwl8k_firmware_load_success(priv);
  		if (rc)
-@@ -5406,10 +5399,8 @@ retry:
+@@ -5583,10 +5576,8 @@ retry:
  
  	/* Ask userland hotplug daemon for the device firmware */
  	rc = mwl8k_request_firmware(priv, fw_image, nowait);
@@ -1760,9 +1760,9 @@
  
 --- a/drivers/net/wireless/orinoco/orinoco_usb.c
 +++ b/drivers/net/wireless/orinoco/orinoco_usb.c
-@@ -1683,7 +1683,6 @@ static int ezusb_probe(struct usb_interf
- 	if (firmware.size && firmware.code) {
- 		ezusb_firmware_download(upriv, &firmware);
+@@ -1690,7 +1690,6 @@ static int ezusb_probe(struct usb_interf
+ 		if (ezusb_firmware_download(upriv, &firmware))
+ 			goto error;
  	} else {
 -		err("No firmware to download");
  		goto error;
@@ -1794,7 +1794,7 @@
  	if (ret) {
 --- a/drivers/net/wireless/p54/p54usb.c
 +++ b/drivers/net/wireless/p54/p54usb.c
-@@ -935,7 +935,6 @@ static void p54u_load_firmware_cb(const
+@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const
  		err = p54u_start_ops(priv);
  	} else {
  		err = -ENOENT;
@@ -1881,7 +1881,7 @@
  		wl1251_error("nvs size is not multiple of 32 bits: %zu",
 --- a/drivers/net/wireless/ti/wlcore/main.c
 +++ b/drivers/net/wireless/ti/wlcore/main.c
-@@ -712,10 +712,8 @@ static int wl12xx_fetch_firmware(struct
+@@ -723,10 +723,8 @@ static int wl12xx_fetch_firmware(struct
  
  	ret = request_firmware(&fw, fw_name, wl->dev);
  
@@ -2000,7 +2000,7 @@
  	}
 --- a/drivers/scsi/ipr.c
 +++ b/drivers/scsi/ipr.c
-@@ -3779,10 +3779,8 @@ static ssize_t ipr_store_update_fw(struc
+@@ -3907,10 +3907,8 @@ static ssize_t ipr_store_update_fw(struc
  	len = snprintf(fname, 99, "%s", buf);
  	fname[len-1] = '\0';
  
@@ -2037,7 +2037,7 @@
  	}
 --- a/drivers/scsi/qla2xxx/qla_init.c
 +++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -5020,8 +5020,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
+@@ -5108,8 +5108,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
  	/* Load firmware blob. */
  	blob = qla2x00_request_firmware(vha);
  	if (!blob) {
@@ -2046,7 +2046,7 @@
  		ql_log(ql_log_info, vha, 0x0084,
  		    "Firmware images can be retrieved from: "QLA_FW_URL ".\n");
  		return QLA_FUNCTION_FAILED;
-@@ -5122,8 +5120,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
+@@ -5210,8 +5208,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
  	/* Load firmware blob. */
  	blob = qla2x00_request_firmware(vha);
  	if (!blob) {
@@ -2057,7 +2057,7 @@
  		    QLA_FW_URL ".\n");
 --- a/drivers/scsi/qla2xxx/qla_nx.c
 +++ b/drivers/scsi/qla2xxx/qla_nx.c
-@@ -2440,11 +2440,8 @@ try_blob_fw:
+@@ -2447,11 +2447,8 @@ try_blob_fw:
  
  	/* Load firmware blob. */
  	blob = ha->hablob = qla2x00_request_firmware(vha);
@@ -2072,7 +2072,7 @@
  	if (qla82xx_validate_firmware_blob(vha,
 --- a/drivers/scsi/qla2xxx/qla_os.c
 +++ b/drivers/scsi/qla2xxx/qla_os.c
-@@ -4902,8 +4902,6 @@ qla2x00_request_firmware(scsi_qla_host_t
+@@ -5017,8 +5017,6 @@ qla2x00_request_firmware(scsi_qla_host_t
  		goto out;
  
  	if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
@@ -2098,7 +2098,7 @@
  		       fw->size, fwname);
 --- a/drivers/staging/comedi/drivers/usbdux.c
 +++ b/drivers/staging/comedi/drivers/usbdux.c
-@@ -2371,11 +2371,8 @@ static void usbdux_firmware_request_comp
+@@ -2378,11 +2378,8 @@ static void usbdux_firmware_request_comp
  	struct usb_interface *uinterf = usbduxsub_tmp->interface;
  	int ret;
  
@@ -2113,7 +2113,7 @@
  	 * we need to upload the firmware here because fw will be
 --- a/drivers/staging/comedi/drivers/usbduxsigma.c
 +++ b/drivers/staging/comedi/drivers/usbduxsigma.c
-@@ -2357,11 +2357,8 @@ static void usbdux_firmware_request_comp
+@@ -2364,11 +2364,8 @@ static void usbdux_firmware_request_comp
  	struct usb_interface *uinterf = usbduxsub_tmp->interface;
  	int ret;
  
@@ -2128,7 +2128,7 @@
  	 * we need to upload the firmware here because fw will be
 --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
 +++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
-@@ -2193,16 +2193,12 @@ struct net_device *init_ft1000_card(stru
+@@ -2203,16 +2203,12 @@ struct net_device *init_ft1000_card(stru
  	info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID);
  	if (info->AsicID == ELECTRABUZZ_ID) {
  		DEBUG(0, "ft1000_hw: ELECTRABUZZ ASIC\n");
@@ -2149,7 +2149,7 @@
  	ft1000_enable_interrupts(dev);
 --- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
 +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
-@@ -137,10 +137,8 @@ static int ft1000_probe(struct usb_inter
+@@ -134,10 +134,8 @@ static int ft1000_probe(struct usb_inter
  	      ft1000dev->bulk_out_endpointAddr);
  
  	ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev);
@@ -2206,7 +2206,7 @@
  				"go7007 firmware\n", fw_name);
 --- a/drivers/staging/media/go7007/go7007-fw.c
 +++ b/drivers/staging/media/go7007/go7007-fw.c
-@@ -1575,12 +1575,8 @@ int go7007_construct_fw_image(struct go7
+@@ -1568,12 +1568,8 @@ int go7007_construct_fw_image(struct go7
  	default:
  		return -1;
  	}
@@ -2218,8 +2218,8 @@
  		return -1;
 -	}
  	code = kzalloc(codespace * 2, GFP_KERNEL);
- 	if (code == NULL) {
- 		dev_err(go->dev,
+ 	if (code == NULL)
+ 		goto fw_failed;
 --- a/drivers/staging/media/go7007/s2250-loader.c
 +++ b/drivers/staging/media/go7007/s2250-loader.c
 @@ -98,12 +98,8 @@ static int s2250loader_probe(struct usb_
@@ -2227,7 +2227,7 @@
  	mutex_unlock(&s2250_dev_table_mutex);
  
 -	if (request_firmware(&fw, S2250_LOADER_FIRMWARE, &usbdev->dev)) {
--		printk(KERN_ERR
+-		dev_err(&interface->dev,
 -			"s2250: unable to load firmware from file \"%s\"\n",
 -			S2250_LOADER_FIRMWARE);
 +	if (request_firmware(&fw, S2250_LOADER_FIRMWARE, &usbdev->dev))
@@ -2241,7 +2241,7 @@
  	}
  
 -	if (request_firmware(&fw, S2250_FIRMWARE, &usbdev->dev)) {
--		printk(KERN_ERR
+-		dev_err(&interface->dev,
 -			"s2250: unable to load firmware from file \"%s\"\n",
 -			S2250_FIRMWARE);
 +	if (request_firmware(&fw, S2250_FIRMWARE, &usbdev->dev))
@@ -2281,7 +2281,7 @@
  	if (!firmware) {
  		struct usb_device *udev = padapter->dvobjpriv.pusbdev;
  		struct usb_interface *pusb_intf = padapter->pusb_intf;
--		printk(KERN_ERR "r8712u: Firmware request failed\n");
+-		dev_err(&udev->dev, "r8712u: Firmware request failed\n");
  		padapter->fw_found = false;
  		usb_put_dev(udev);
  		usb_set_intfdata(pusb_intf, NULL);
@@ -2315,7 +2315,7 @@
  	for (i = 0; i < numsects; i++) {
 --- a/drivers/staging/vt6656/firmware.c
 +++ b/drivers/staging/vt6656/firmware.c
-@@ -74,11 +74,8 @@ FIRMWAREbDownload(
+@@ -71,11 +71,8 @@ int FIRMWAREbDownload(struct vnt_private
  	spin_unlock_irq(&pDevice->lock);
  
  	rc = request_firmware(&fw, FIRMWARE_NAME, dev);
@@ -2331,7 +2331,7 @@
  	if (!pBuffer)
 --- a/drivers/tty/cyclades.c
 +++ b/drivers/tty/cyclades.c
-@@ -3539,10 +3539,8 @@ static int cyz_load_fw(struct pci_dev *p
+@@ -3526,10 +3526,8 @@ static int cyz_load_fw(struct pci_dev *p
  	int retval;
  
  	retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
@@ -2542,7 +2542,7 @@
  	}
 --- a/drivers/usb/serial/io_edgeport.c
 +++ b/drivers/usb/serial/io_edgeport.c
-@@ -306,11 +306,8 @@ static void update_edgeport_E2PROM(struc
+@@ -305,11 +305,8 @@ static void update_edgeport_E2PROM(struc
  
  	response = request_ihex_firmware(&fw, fw_name,
  					 &edge_serial->serial->dev->dev);
@@ -2557,7 +2557,7 @@
  	BootMajorVersion = rec->data[0];
 --- a/drivers/usb/serial/io_ti.c
 +++ b/drivers/usb/serial/io_ti.c
-@@ -844,8 +844,6 @@ static int build_i2c_fw_hdr(__u8 *header
+@@ -782,8 +782,6 @@ static int build_i2c_fw_hdr(__u8 *header
  
  	err = request_firmware(&fw, fw_name, dev);
  	if (err) {
@@ -2566,7 +2566,7 @@
  		kfree(buffer);
  		return err;
  	}
-@@ -1403,8 +1401,6 @@ static int download_fw(struct edgeport_s
+@@ -1341,8 +1339,6 @@ static int download_fw(struct edgeport_s
  
  		err = request_firmware(&fw, fw_name, dev);
  		if (err) {
@@ -2577,7 +2577,7 @@
  		}
 --- a/drivers/usb/serial/ti_usb_3410_5052.c
 +++ b/drivers/usb/serial/ti_usb_3410_5052.c
-@@ -1659,10 +1659,8 @@ static int ti_download_firmware(struct t
+@@ -1653,10 +1653,8 @@ static int ti_download_firmware(struct t
  		}
  		status = request_firmware(&fw_p, buf, &dev->dev);
  	}
@@ -2747,7 +2747,7 @@
  	}
 --- a/sound/pci/hda/hda_intel.c
 +++ b/sound/pci/hda/hda_intel.c
-@@ -3424,11 +3424,8 @@ static void azx_firmware_cb(const struct
+@@ -3633,11 +3633,8 @@ static void azx_firmware_cb(const struct
  	struct azx *chip = card->private_data;
  	struct pci_dev *pci = chip->pci;
  
@@ -2816,7 +2816,7 @@
  	if (err) {
 --- a/sound/pci/rme9652/hdsp.c
 +++ b/sound/pci/rme9652/hdsp.c
-@@ -5378,10 +5378,8 @@ static int hdsp_request_fw_loader(struct
+@@ -5150,10 +5150,8 @@ static int hdsp_request_fw_loader(struct
  		return -EINVAL;
  	}
  
@@ -2830,7 +2830,7 @@
  			   (int)fw->size, HDSP_FIRMWARE_SIZE);
 --- a/sound/soc/codecs/wm2000.c
 +++ b/sound/soc/codecs/wm2000.c
-@@ -834,10 +834,8 @@ static int wm2000_i2c_probe(struct i2c_c
+@@ -886,10 +886,8 @@ static int wm2000_i2c_probe(struct i2c_c
  	}
  
  	ret = request_firmware(&fw, filename, &i2c->dev);

Modified: dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
==============================================================================
--- dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -19,7 +19,7 @@
 
 --- a/drivers/base/firmware_class.c
 +++ b/drivers/base/firmware_class.c
-@@ -502,14 +502,23 @@ static ssize_t firmware_loading_store(st
+@@ -604,14 +604,23 @@ static ssize_t firmware_loading_store(st
  			 * is completed.
  			 * */
  			fw_map_pages_buf(fw_buf);
@@ -45,7 +45,7 @@
  		fw_load_abort(fw_priv);
  		break;
  	}
-@@ -679,6 +688,9 @@ static void firmware_class_timeout_work(
+@@ -781,6 +790,9 @@ static void firmware_class_timeout_work(
  		mutex_unlock(&fw_lock);
  		return;
  	}
@@ -55,17 +55,7 @@
  	fw_load_abort(fw_priv);
  	mutex_unlock(&fw_lock);
  }
-@@ -807,7 +819,8 @@ _request_firmware_prepare(const struct f
- 	}
- 
- 	if (fw_get_builtin_firmware(firmware, name)) {
--		dev_dbg(device, "firmware: using built-in firmware %s\n", name);
-+		dev_info(device, "firmware: using built-in firmware %s\n",
-+			 name);
- 		return NULL;
- 	}
- 
-@@ -885,25 +898,28 @@ static int _request_firmware_load(struct
+@@ -832,25 +844,28 @@ static int _request_firmware_load(struct
  
  	retval = device_add(f_dev);
  	if (retval) {
@@ -98,39 +88,50 @@
  		if (timeout != MAX_SCHEDULE_TIMEOUT)
  			schedule_delayed_work(&fw_priv->timeout_work, timeout);
  
-@@ -916,8 +932,15 @@ static int _request_firmware_load(struct
+@@ -940,7 +955,8 @@ _request_firmware_prepare(struct firmwar
+ 	}
+ 
+ 	if (fw_get_builtin_firmware(firmware, name)) {
+-		dev_dbg(device, "firmware: using built-in firmware %s\n", name);
++		dev_info(device, "firmware: using built-in firmware %s\n",
++			 name);
+ 		return 0; /* assigned */
+ 	}
+ 
+@@ -970,9 +986,16 @@ static int assign_firmware_buf(struct fi
+ 	struct firmware_buf *buf = fw->priv;
  
- handle_fw:
  	mutex_lock(&fw_lock);
--	if (!buf->size || test_bit(FW_STATUS_ABORT, &buf->status))
-+	if (test_bit(FW_STATUS_ABORT, &buf->status)) {
+-	if (!buf->size || is_fw_load_aborted(buf)) {
++	if (is_fw_load_aborted(buf)) {
 +		/* failure has already been logged */
- 		retval = -ENOENT;
+ 		mutex_unlock(&fw_lock);
+ 		return -ENOENT;
 +	} else if (!buf->size) {
-+		dev_err(f_dev->parent,
++		dev_err(device->parent,
 +			"firmware: agent loaded no data for %s (not found?)\n",
 +			buf->fw_id);
-+		retval = -ENOENT;
-+	}
++ 		mutex_unlock(&fw_lock);
++		return -ENOENT;
+ 	}
  
  	/*
- 	 * add firmware name into devres list so that we can auto cache
-@@ -996,6 +1019,9 @@ request_firmware(const struct firmware *
- 	}
- 	if (ret)
- 		_request_firmware_cleanup(firmware_p);
-+	else
+@@ -1021,7 +1044,7 @@ _request_firmware(const struct firmware
+ 	if (nowait) {
+ 		timeout = usermodehelper_read_lock_wait(timeout);
+ 		if (!timeout) {
+-			dev_dbg(device, "firmware: %s loading timed out\n",
++			dev_err(device, "firmware: %s loading timed out\n",
+ 				name);
+ 			ret = -EBUSY;
+ 			goto out;
+@@ -1047,6 +1070,9 @@ _request_firmware(const struct firmware
+ 	if (ret < 0) {
+ 		release_firmware(fw);
+ 		fw = NULL;
++	} else {
 +		dev_info(device, "firmware: agent loaded %s into memory\n",
 +			 name);
- 
- 	return ret;
- }
-@@ -1045,7 +1071,7 @@ static void request_firmware_work_func(s
- 		ret = _request_firmware_load(fw_priv, fw_work->uevent, timeout);
- 		usermodehelper_read_unlock();
- 	} else {
--		dev_dbg(fw_work->device, "firmware: %s loading timed out\n",
-+		dev_err(fw_work->device, "firmware: %s loading timed out\n",
- 			fw_work->name);
- 		ret = -EAGAIN;
  	}
+ 
+ 	*firmware_p = fw;

Modified: dists/sid/linux/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
==============================================================================
--- dists/sid/linux/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -114,8 +114,8 @@
 -	  Say Y here if you want to control the backlight of your display.
 -
  config FB_I740
- 	tristate "Intel740 support (EXPERIMENTAL)"
- 	depends on EXPERIMENTAL && FB && PCI
+ 	tristate "Intel740 support"
+ 	depends on FB && PCI
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
 @@ -38,8 +38,6 @@ obj-$(CONFIG_FB_PM2)              += pm2fb.o

Modified: dists/sid/linux/debian/patches/debian/efi-autoload-efivars.patch
==============================================================================
--- dists/sid/linux/debian/patches/debian/efi-autoload-efivars.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/debian/efi-autoload-efivars.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -15,15 +15,15 @@
 ---
 --- a/arch/x86/platform/efi/efi.c
 +++ b/arch/x86/platform/efi/efi.c
-@@ -41,6 +41,7 @@
- #include <linux/io.h>
+@@ -42,6 +42,7 @@
  #include <linux/reboot.h>
  #include <linux/bcd.h>
+ #include <linux/ucs2_string.h>
 +#include <linux/platform_device.h>
  
  #include <asm/setup.h>
  #include <asm/efi.h>
-@@ -762,6 +763,20 @@ void __init efi_late_init(void)
+@@ -870,6 +871,20 @@ void __init efi_late_init(void)
  	efi_bgrt_init();
  }
  
@@ -46,7 +46,7 @@
  	u64 addr, npages;
 --- a/drivers/firmware/efivars.c
 +++ b/drivers/firmware/efivars.c
-@@ -94,6 +94,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
+@@ -95,6 +95,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
  MODULE_DESCRIPTION("sysfs interface to EFI Variables");
  MODULE_LICENSE("GPL");
  MODULE_VERSION(EFIVARS_VERSION);

Modified: dists/sid/linux/debian/patches/debian/efivars-remove-check-for-50-full-on-write.patch
==============================================================================
--- dists/sid/linux/debian/patches/debian/efivars-remove-check-for-50-full-on-write.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/debian/efivars-remove-check-for-50-full-on-write.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -15,15 +15,14 @@
 risky to disable it for now.
 
 ---
---- a/drivers/firmware/efivars.c
-+++ b/drivers/firmware/efivars.c
-@@ -439,8 +439,7 @@ check_var_size_locked(struct efivars *ef
- 	if (status != EFI_SUCCESS)
- 		return status;
+--- a/arch/x86/platform/efi/efi.c
++++ b/arch/x86/platform/efi/efi.c
+@@ -114,7 +114,7 @@ static int __init setup_add_efi_memmap(c
+ }
+ early_param("add_efi_memmap", setup_add_efi_memmap);
  
--	if (!storage_size || size > remaining_size || size > max_size ||
--	    (remaining_size - size) < (storage_size / 2))
-+	if (!storage_size || size > remaining_size || size > max_size)
- 		return EFI_OUT_OF_RESOURCES;
+-static bool efi_no_storage_paranoia;
++static bool efi_no_storage_paranoia = true;
  
- 	return status;
+ static int __init setup_storage_paranoia(char *arg)
+ {

Copied: dists/sid/linux/debian/patches/debian/powerpcspe-omit-uimage.patch (from r20137, dists/trunk/linux/debian/patches/debian/powerpcspe-omit-uimage.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/debian/powerpcspe-omit-uimage.patch	Thu May 30 01:34:59 2013	(r20138, copy of r20137, dists/trunk/linux/debian/patches/debian/powerpcspe-omit-uimage.patch)
@@ -0,0 +1,44 @@
+Description: Prevent building uImage with missing mkimage
+ On some powerpc platforms, CONFIG_DEFAULT_UIMAGE is selected automatically,
+ which leads to uImage being built automatically with mkimage. This tool is not
+ available in linux's build-dependencies, and the file is not strictly
+ necessary, so we are omitting this step in the build process, Debian-specific.
+Author: Roland Stigge <stigge at antcom.de>
+Bug-Debian: http://bugs.debian.org/708094
+
+Index: linux-3.8.12/arch/powerpc/boot/Makefile
+===================================================================
+--- linux-3.8.12.orig/arch/powerpc/boot/Makefile	2013-05-13 21:05:41.000000000 +0200
++++ linux-3.8.12/arch/powerpc/boot/Makefile	2013-05-14 07:48:26.434286772 +0200
+@@ -204,7 +204,6 @@
+ image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
+ image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
+ image-$(CONFIG_PPC_PRPMC2800)		+= dtbImage.prpmc2800
+-image-$(CONFIG_DEFAULT_UIMAGE)		+= uImage
+ image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr
+ 
+ #
+@@ -262,23 +261,6 @@
+ image-$(CONFIG_MPC836x_MDS)		+= cuImage.mpc836x_mds
+ image-$(CONFIG_ASP834x)			+= dtbImage.asp834x-redboot
+ 
+-# Board ports in arch/powerpc/platform/85xx/Kconfig
+-image-$(CONFIG_MPC8540_ADS)		+= cuImage.mpc8540ads
+-image-$(CONFIG_MPC8560_ADS)		+= cuImage.mpc8560ads
+-image-$(CONFIG_MPC85xx_CDS)		+= cuImage.mpc8541cds \
+-					   cuImage.mpc8548cds_32b \
+-					   cuImage.mpc8555cds
+-image-$(CONFIG_MPC85xx_MDS)		+= cuImage.mpc8568mds
+-image-$(CONFIG_MPC85xx_DS)		+= cuImage.mpc8544ds \
+-					   cuImage.mpc8572ds
+-image-$(CONFIG_TQM8540)			+= cuImage.tqm8540
+-image-$(CONFIG_TQM8541)			+= cuImage.tqm8541
+-image-$(CONFIG_TQM8548)			+= cuImage.tqm8548
+-image-$(CONFIG_TQM8555)			+= cuImage.tqm8555
+-image-$(CONFIG_TQM8560)			+= cuImage.tqm8560
+-image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
+-image-$(CONFIG_KSI8560)			+= cuImage.ksi8560
+-
+ # Board ports in arch/powerpc/platform/embedded6xx/Kconfig
+ image-$(CONFIG_STORCENTER)		+= cuImage.storcenter
+ image-$(CONFIG_MPC7448HPC2)		+= cuImage.mpc7448hpc2

Modified: dists/sid/linux/debian/patches/debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
==============================================================================
--- dists/sid/linux/debian/patches/debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -36,7 +36,7 @@
  
  
  /*
-@@ -286,6 +288,35 @@ static struct drm_driver driver_old = {
+@@ -301,6 +303,37 @@ static struct drm_driver driver_old = {
  
  static struct drm_driver kms_driver;
  
@@ -58,6 +58,7 @@
 +	return false;
 +}
 +
++#ifdef CONFIG_DRM_RADEON_UMS
 +static int
 +radeon_ums_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 +{
@@ -68,11 +69,12 @@
 +
 +	return 0;
 +}
++#endif
 +
  static int radeon_kick_out_firmware_fb(struct pci_dev *pdev)
  {
  	struct apertures_struct *ap;
-@@ -312,6 +343,12 @@ static int radeon_pci_probe(struct pci_d
+@@ -327,6 +360,12 @@ static int radeon_pci_probe(struct pci_d
  {
  	int ret;
  
@@ -85,11 +87,11 @@
  	/* Get rid of things like offb */
  	ret = radeon_kick_out_firmware_fb(pdev);
  	if (ret)
-@@ -414,6 +451,7 @@ static struct pci_driver *pdriver;
+@@ -435,6 +474,7 @@ static struct pci_driver *pdriver;
  static struct pci_driver radeon_pci_driver = {
  	.name = DRIVER_NAME,
  	.id_table = pciidlist,
 +	.probe = radeon_ums_pci_probe,
  };
+ #endif
  
- static struct pci_driver radeon_kms_pci_driver = {

Modified: dists/sid/linux/debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -80,7 +80,7 @@
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -1317,6 +1317,17 @@ W:	http://atl1.sourceforge.net
+@@ -1432,6 +1432,17 @@ W:	http://atl1.sourceforge.net
  S:	Maintained
  F:	drivers/net/ethernet/atheros/
  
@@ -104,9 +104,9 @@
  	  will be called atl1e.
  
  config ATL1C
--	tristate "Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)"
+-	tristate "Atheros L1C Gigabit Ethernet support"
 +	tristate "Atheros L1C Gigabit Ethernet support (DEPRECATED)"
- 	depends on PCI && EXPERIMENTAL
+ 	depends on PCI
  	select CRC32
  	select NET_CORE
  	select MII

Modified: dists/sid/linux/debian/patches/features/all/alx/remove-atl1c-devices-from-alx.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/alx/remove-atl1c-devices-from-alx.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/alx/remove-atl1c-devices-from-alx.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -23,8 +23,8 @@
  
  config ATL1C
 -	tristate "Atheros L1C Gigabit Ethernet support (DEPRECATED)"
-+	tristate "Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)"
- 	depends on PCI && EXPERIMENTAL
++	tristate "Atheros L1C Gigabit Ethernet support"
+ 	depends on PCI
  	select CRC32
  	select NET_CORE
  	select MII

Modified: dists/sid/linux/debian/patches/features/all/aufs3/aufs3-add.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/aufs3/aufs3-add.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/aufs3/aufs3-add.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -79,8 +79,8 @@
 +		When the aufs mount option 'noxino' is specified, it
 +		will be empty. About XINO files, see the aufs manual.
 --- a/Documentation/filesystems/aufs/README	1970-01-01 01:00:00.000000000 +0100
-+++ b/Documentation/filesystems/aufs/README	2013-05-09 01:36:20.741181631 +0100
-@@ -0,0 +1,337 @@
++++ b/Documentation/filesystems/aufs/README	2013-05-12 01:53:46.851187256 +0100
+@@ -0,0 +1,343 @@
 +
 +Aufs3 -- advanced multi layered unification filesystem version 3.x
 +http://aufs.sf.net
@@ -242,7 +242,7 @@
 +Make sure you have git-checkout'ed the correct branch.
 +
 +For aufs3-linux tree,
-+- enable CONFIG_EXPERIMENTAL and CONFIG_AUFS_FS.
++- enable CONFIG_AUFS_FS.
 +- set other aufs configurations if necessary.
 +
 +For aufs3-standalone tree,
@@ -258,10 +258,13 @@
 +  CONFIG_AUFS_FS=m. otherwise you don't need ./aufs3-standalone.patch.
 +- copy ./{Documentation,fs,include/uapi/linux/aufs_type.h} files to your
 +  kernel source tree. Never copy $PWD/include/uapi/linux/Kbuild.
-+- enable CONFIG_EXPERIMENTAL and CONFIG_AUFS_FS, you can select either
++- enable CONFIG_AUFS_FS, you can select either
 +  =m or =y.
 +- and build your kernel as usual.
 +- install the built kernel.
++  Note: Since linux-3.9, every filesystem module requires an alias
++  "fs-<fsname>". You should make sure that "fs-aufs" is listed in your
++  modules.aliases file if you set CONFIG_AUFS_FS=m.
 +- install the header files too by "make headers_install" to the
 +  directory where you specify. By default, it is $PWD/usr.
 +  "make help" shows a brief note for headers_install.
@@ -279,6 +282,9 @@
 +  Note: You should read $PWD/fs/aufs/Kconfig carefully which describes
 +  every aufs configurations.
 +- build the module by simple "make".
++  Note: Since linux-3.9, every filesystem module requires an alias
++  "fs-<fsname>". You should make sure that "fs-aufs" is listed in your
++  modules.aliases file.
 +- you can specify ${KDIR} make variable which points to your kernel
 +  source tree.
 +- install the files
@@ -1386,11 +1392,10 @@
 +/new.
 +Otherwise from /new.
 --- a/fs/aufs/Kconfig	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/Kconfig	2012-01-10 02:15:56.000000000 +0000
-@@ -0,0 +1,203 @@
++++ b/fs/aufs/Kconfig	2013-05-12 01:53:46.855187256 +0100
+@@ -0,0 +1,202 @@
 +config AUFS_FS
 +	tristate "Aufs (Advanced multi layered unification filesystem) support"
-+	depends on EXPERIMENTAL
 +	help
 +	Aufs is a stackable unification filesystem such as Unionfs,
 +	which unifies several directories and provides a merged single
@@ -1700,7 +1705,7 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_H__ */
 --- a/fs/aufs/branch.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/branch.c	2013-05-09 01:36:20.741181631 +0100
++++ b/fs/aufs/branch.c	2013-05-12 01:53:46.855187256 +0100
 @@ -0,0 +1,1213 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -2717,7 +2722,7 @@
 +	do_file_list_for_each_entry(sb, f) {
 +		if (au_fi(f)
 +		    && file_count(f)
-+		    && !special_file(f->f_dentry->d_inode->i_mode)) {
++		    && !special_file(file_inode(f)->i_mode)) {
 +			get_file(f);
 +			*p++ = f;
 +			n++;
@@ -2782,7 +2787,7 @@
 +			goto out_array;
 +		}
 +
-+		inode = file->f_dentry->d_inode;
++		inode = file_inode(file);
 +		hfile = &au_fi(file)->fi_htop;
 +		hf = hfile->hf_file;
 +		if (!S_ISREG(inode->i_mode)
@@ -3215,8 +3220,8 @@
 +
 +-include ${srctree}/${src}/conf_priv.mk
 --- a/fs/aufs/cpup.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/cpup.c	2013-05-09 01:36:20.741181631 +0100
-@@ -0,0 +1,1221 @@
++++ b/fs/aufs/cpup.c	2013-05-12 01:53:46.855187256 +0100
+@@ -0,0 +1,1220 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -3519,7 +3524,7 @@
 +			ia->ia_size = dst->f_pos;
 +			ia->ia_valid = ATTR_SIZE | ATTR_FILE;
 +			ia->ia_file = dst;
-+			h_mtx = &dst->f_dentry->d_inode->i_mutex;
++			h_mtx = &file_inode(dst)->i_mutex;
 +			mutex_lock_nested(h_mtx, AuLsc_I_CHILD2);
 +			err = vfsub_notify_change(&dst->f_path, ia);
 +			mutex_unlock(h_mtx);
@@ -3637,9 +3642,8 @@
 +{
 +	int err, rerr;
 +	loff_t l;
-+	struct dentry *h_src_dentry;
++	struct path h_path;
 +	struct inode *h_src_inode;
-+	struct vfsmount *h_src_mnt;
 +
 +	err = 0;
 +	h_src_inode = au_h_iptr(basic->dentry->d_inode, basic->bsrc);
@@ -3651,10 +3655,10 @@
 +		mutex_lock_nested(&h_src_inode->i_mutex, AuLsc_I_CHILD);
 +		au_pin_hdir_unlock(pin);
 +
-+		h_src_dentry = au_h_dptr(basic->dentry, basic->bsrc);
-+		h_src_mnt = au_sbr_mnt(basic->dentry->d_sb, basic->bsrc);
++		h_path.dentry = au_h_dptr(basic->dentry, basic->bsrc);
++		h_path.mnt = au_sbr_mnt(basic->dentry->d_sb, basic->bsrc);
 +		h_src_attr->iflags = h_src_inode->i_flags;
-+		err = vfs_getattr(h_src_mnt, h_src_dentry, &h_src_attr->st);
++		err = vfs_getattr(&h_path, &h_src_attr->st);
 +		if (unlikely(err)) {
 +			mutex_unlock(&h_src_inode->i_mutex);
 +			goto out;
@@ -4526,7 +4530,7 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_CPUP_H__ */
 --- a/fs/aufs/dbgaufs.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/dbgaufs.c	2013-05-09 01:36:20.741181631 +0100
++++ b/fs/aufs/dbgaufs.c	2013-05-12 01:53:46.855187256 +0100
 @@ -0,0 +1,433 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -4593,7 +4597,7 @@
 +	if (!xf)
 +		goto out;
 +
-+	err = vfs_getattr(xf->f_vfsmnt, xf->f_dentry, &st);
++	err = vfs_getattr(&xf->f_path, &st);
 +	if (!err) {
 +		if (do_fcnt)
 +			p->n = snprintf
@@ -5357,8 +5361,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_DCSUB_H__ */
 --- a/fs/aufs/debug.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/debug.c	2013-05-09 01:36:20.741181631 +0100
-@@ -0,0 +1,493 @@
++++ b/fs/aufs/debug.c	2013-05-12 01:53:46.859187256 +0100
+@@ -0,0 +1,491 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -5402,17 +5406,16 @@
 +{
 +	unsigned long ul, n;
 +	struct hlist_head *head;
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos;
++	struct au_vdir_wh *pos;
 +
 +	n = whlist->nh_num;
 +	head = whlist->nh_head;
 +	for (ul = 0; ul < n; ul++) {
-+		hlist_for_each_entry(tpos, pos, head, wh_hash)
++		hlist_for_each_entry(pos, head, wh_hash)
 +			dpri("b%d, %.*s, %d\n",
-+			     tpos->wh_bindex,
-+			     tpos->wh_str.len, tpos->wh_str.name,
-+			     tpos->wh_str.len);
++			     pos->wh_bindex,
++			     pos->wh_str.len, pos->wh_str.name,
++			     pos->wh_str.len);
 +		head++;
 +	}
 +}
@@ -5499,10 +5502,9 @@
 +void au_dpri_dalias(struct inode *inode)
 +{
 +	struct dentry *d;
-+	struct hlist_node *p;
 +
 +	spin_lock(&inode->i_lock);
-+	hlist_for_each_entry(d, p, &inode->i_dentry, d_alias)
++	hlist_for_each_entry(d, &inode->i_dentry, d_alias)
 +		au_dpri_dentry(d);
 +	spin_unlock(&inode->i_lock);
 +}
@@ -6098,8 +6100,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_DEBUG_H__ */
 --- a/fs/aufs/dentry.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/dentry.c	2013-05-09 01:36:20.741181631 +0100
-@@ -0,0 +1,1064 @@
++++ b/fs/aufs/dentry.c	2013-05-12 01:53:46.859187256 +0100
+@@ -0,0 +1,1065 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -7161,8 +7163,9 @@
 +}
 +
 +const struct dentry_operations aufs_dop = {
-+	.d_revalidate	= aufs_d_revalidate,
-+	.d_release	= aufs_d_release
++	.d_revalidate		= aufs_d_revalidate,
++	.d_weak_revalidate	= aufs_d_revalidate,
++	.d_release		= aufs_d_release
 +};
 --- a/fs/aufs/dentry.h	1970-01-01 01:00:00.000000000 +0100
 +++ b/fs/aufs/dentry.h	2013-05-09 01:36:20.741181631 +0100
@@ -7948,8 +7951,8 @@
 +	return -1;
 +}
 --- a/fs/aufs/dir.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/dir.c	2013-05-04 18:39:11.235157327 +0100
-@@ -0,0 +1,633 @@
++++ b/fs/aufs/dir.c	2013-05-12 01:53:46.859187256 +0100
+@@ -0,0 +1,630 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -8012,19 +8015,16 @@
 +
 +	sz = 0;
 +	if (file) {
-+		AuDebugOn(!file->f_dentry);
-+		AuDebugOn(!file->f_dentry->d_inode);
-+		AuDebugOn(!S_ISDIR(file->f_dentry->d_inode->i_mode));
++		AuDebugOn(!file_inode(file));
++		AuDebugOn(!S_ISDIR(file_inode(file)->i_mode));
 +
 +		bend = au_fbend_dir(file);
 +		for (bindex = au_fbstart(file);
 +		     bindex <= bend && sz < KMALLOC_MAX_SIZE;
 +		     bindex++) {
 +			h_file = au_hf_dir(file, bindex);
-+			if (h_file
-+			    && h_file->f_dentry
-+			    && h_file->f_dentry->d_inode)
-+				sz += i_size_read(h_file->f_dentry->d_inode);
++			if (h_file && file_inode(h_file))
++				sz += vfsub_f_size_read(h_file);
 +		}
 +	} else {
 +		AuDebugOn(!dentry);
@@ -8262,7 +8262,7 @@
 +		goto out;
 +
 +	sb = file->f_dentry->d_sb;
-+	inode = file->f_dentry->d_inode;
++	inode = file_inode(file);
 +	bend = au_fbend_dir(file);
 +	for (bindex = au_fbstart(file); !err && bindex <= bend; bindex++) {
 +		h_file = au_hf_dir(file, bindex);
@@ -8435,7 +8435,7 @@
 +
 +	err = 0;
 +	if (!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE)
-+	    && !h_file->f_dentry->d_inode->i_nlink)
++	    && !file_inode(h_file)->i_nlink)
 +		goto out_put;
 +
 +	do {
@@ -9185,8 +9185,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_DYNOP_H__ */
 --- a/fs/aufs/export.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/export.c	2013-05-09 01:36:20.741181631 +0100
-@@ -0,0 +1,827 @@
++++ b/fs/aufs/export.c	2013-05-12 01:53:46.859187256 +0100
+@@ -0,0 +1,826 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -9351,7 +9351,7 @@
 +	file = sbinfo->si_xigen;
 +	BUG_ON(!file);
 +
-+	if (i_size_read(file->f_dentry->d_inode)
++	if (vfsub_f_size_read(file)
 +	    < pos + sizeof(inode->i_generation)) {
 +		inode->i_generation = atomic_inc_return(&sbinfo->si_xigen_next);
 +		sz = xino_fwrite(sbinfo->si_xwrite, file, &inode->i_generation,
@@ -9415,7 +9415,6 @@
 +	struct dentry *dentry, *d;
 +	struct inode *inode;
 +	unsigned int sigen;
-+	struct hlist_node *p;
 +
 +	dentry = NULL;
 +	inode = ilookup(sb, ino);
@@ -9434,7 +9433,7 @@
 +		dentry = d_find_alias(inode);
 +	else {
 +		spin_lock(&inode->i_lock);
-+		hlist_for_each_entry(d, p, &inode->i_dentry, d_alias) {
++		hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
 +			spin_lock(&d->d_lock);
 +			if (!au_test_anon(d)
 +			    && d->d_parent->d_inode->i_ino == dir_ino) {
@@ -10015,8 +10014,8 @@
 +	atomic_set(&sbinfo->si_xigen_next, u);
 +}
 --- a/fs/aufs/f_op.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/f_op.c	2013-05-04 18:39:11.235157327 +0100
-@@ -0,0 +1,723 @@
++++ b/fs/aufs/f_op.c	2013-05-12 01:53:46.863187256 +0100
+@@ -0,0 +1,720 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -10162,7 +10161,7 @@
 +	/* todo: necessary? */
 +	/* file->f_ra = h_file->f_ra; */
 +	/* update without lock, I don't think it a problem */
-+	fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode);
++	fsstack_copy_attr_atime(dentry->d_inode, file_inode(h_file));
 +	fput(h_file);
 +
 +out:
@@ -10229,7 +10228,7 @@
 +	err = vfsub_write_u(h_file, buf, count, ppos);
 +	ii_write_lock_child(inode);
 +	au_cpup_attr_timesizes(inode);
-+	inode->i_mode = h_file->f_dentry->d_inode->i_mode;
++	inode->i_mode = file_inode(h_file)->i_mode;
 +	ii_write_unlock(inode);
 +	fput(h_file);
 +
@@ -10297,7 +10296,7 @@
 +	/* todo: necessary? */
 +	/* file->f_ra = h_file->f_ra; */
 +	/* update without lock, I don't think it a problem */
-+	fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode);
++	fsstack_copy_attr_atime(dentry->d_inode, file_inode(h_file));
 +	fput(h_file);
 +
 +out:
@@ -10342,7 +10341,7 @@
 +	err = au_do_aio(h_file, MAY_WRITE, kio, iov, nv, pos);
 +	ii_write_lock_child(inode);
 +	au_cpup_attr_timesizes(inode);
-+	inode->i_mode = h_file->f_dentry->d_inode->i_mode;
++	inode->i_mode = file_inode(h_file)->i_mode;
 +	ii_write_unlock(inode);
 +	fput(h_file);
 +
@@ -10385,7 +10384,7 @@
 +	/* todo: necessasry? */
 +	/* file->f_ra = h_file->f_ra; */
 +	/* update without lock, I don't think it a problem */
-+	fsstack_copy_attr_atime(dentry->d_inode, h_file->f_dentry->d_inode);
++	fsstack_copy_attr_atime(dentry->d_inode, file_inode(h_file));
 +	fput(h_file);
 +
 +out:
@@ -10430,7 +10429,7 @@
 +	err = vfsub_splice_from(pipe, h_file, ppos, len, flags);
 +	ii_write_lock_child(inode);
 +	au_cpup_attr_timesizes(inode);
-+	inode->i_mode = h_file->f_dentry->d_inode->i_mode;
++	inode->i_mode = file_inode(h_file)->i_mode;
 +	ii_write_unlock(inode);
 +	fput(h_file);
 +
@@ -10546,8 +10545,7 @@
 +
 +	au_vm_prfile_set(vma, file);
 +	/* update without lock, I don't think it a problem */
-+	fsstack_copy_attr_atime(file->f_dentry->d_inode,
-+				h_file->f_dentry->d_inode);
++	fsstack_copy_attr_atime(file_inode(file), file_inode(h_file));
 +	goto out_fput; /* success */
 +
 +out_reset:
@@ -10642,11 +10640,9 @@
 +	err = -ENOSYS;
 +	h_file = au_hf_top(file);
 +	if (h_file->f_op && h_file->f_op->aio_fsync) {
-+		struct dentry *h_d;
 +		struct mutex *h_mtx;
 +
-+		h_d = h_file->f_dentry;
-+		h_mtx = &h_d->d_inode->i_mutex;
++		h_mtx = &file_inode(h_file)->i_mutex;
 +		if (!is_sync_kiocb(kio)) {
 +			get_file(h_file);
 +			fput(file);
@@ -10741,7 +10737,7 @@
 +#endif
 +};
 --- a/fs/aufs/f_op_sp.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/f_op_sp.c	2013-05-09 01:36:20.745181631 +0100
++++ b/fs/aufs/f_op_sp.c	2013-05-12 01:53:46.863187256 +0100
 @@ -0,0 +1,295 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -10974,12 +10970,12 @@
 +
 +	sb = dentry->d_sb;
 +	h_file = au_hf_top(file);
-+	h_inode = h_file->f_dentry->d_inode;
++	h_inode = file_inode(h_file);
 +	di_read_unlock(dentry, AuLock_IR);
 +	fi_write_unlock(file);
 +	si_read_unlock(sb);
 +	/* open this fifo in aufs */
-+	err = h_inode->i_fop->open(file->f_dentry->d_inode, file);
++	err = h_inode->i_fop->open(file_inode(file), file);
 +	si_noflush_read_lock(sb);
 +	fi_write_lock(file);
 +	di_read_lock_child(dentry, AuLock_IR);
@@ -11039,8 +11035,8 @@
 +	return ret;
 +}
 --- a/fs/aufs/file.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/file.c	2013-05-09 01:36:20.745181631 +0100
-@@ -0,0 +1,692 @@
++++ b/fs/aufs/file.c	2013-05-12 01:53:46.863187256 +0100
+@@ -0,0 +1,688 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -11389,13 +11385,11 @@
 +		int (*flush)(struct file *file, fl_owner_t id))
 +{
 +	int err;
-+	struct dentry *dentry;
 +	struct super_block *sb;
 +	struct inode *inode;
 +
-+	dentry = file->f_dentry;
-+	sb = dentry->d_sb;
-+	inode = dentry->d_inode;
++	inode = file_inode(file);
++	sb = inode->i_sb;
 +	si_noflush_read_lock(sb);
 +	fi_read_lock(file);
 +	ii_read_lock_child(inode);
@@ -11521,8 +11515,7 @@
 +		for (finfo->fi_btop = 0; finfo->fi_btop <= bend;
 +		     finfo->fi_btop++, p++)
 +			if (p->hf_file) {
-+				if (p->hf_file->f_dentry
-+				    && p->hf_file->f_dentry->d_inode)
++				if (file_inode(p->hf_file))
 +					break;
 +				else
 +					au_hfput(p, file);
@@ -11540,8 +11533,7 @@
 +	for (fidir->fd_bbot = bend; fidir->fd_bbot >= finfo->fi_btop;
 +	     fidir->fd_bbot--, p--)
 +		if (p->hf_file) {
-+			if (p->hf_file->f_dentry
-+			    && p->hf_file->f_dentry->d_inode)
++			if (file_inode(p->hf_file))
 +				break;
 +			else
 +				au_hfput(p, file);
@@ -13036,8 +13028,8 @@
 +	}
 +}
 --- a/fs/aufs/hnotify.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/hnotify.c	2013-05-04 18:39:11.235157327 +0100
-@@ -0,0 +1,713 @@
++++ b/fs/aufs/hnotify.c	2013-05-12 01:53:46.863187256 +0100
+@@ -0,0 +1,712 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -13240,7 +13232,6 @@
 +	int err;
 +	struct dentry *d;
 +	struct qstr *dname;
-+	struct hlist_node *p;
 +
 +	err = 1;
 +	if (unlikely(inode->i_ino == AUFS_ROOT_INO)) {
@@ -13253,7 +13244,7 @@
 +		AuDebugOn(!name);
 +		au_iigen_dec(inode);
 +		spin_lock(&inode->i_lock);
-+		hlist_for_each_entry(d, p, &inode->i_dentry, d_alias) {
++		hlist_for_each_entry(d, &inode->i_dentry, d_alias) {
 +			spin_lock(&d->d_lock);
 +			dname = &d->d_name;
 +			if (dname->len != nlen
@@ -13752,7 +13743,7 @@
 +		au_hn_destroy_cache();
 +}
 --- a/fs/aufs/i_op.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/i_op.c	2013-05-09 01:36:20.745181631 +0100
++++ b/fs/aufs/i_op.c	2013-05-12 01:53:46.863187256 +0100
 @@ -0,0 +1,1107 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -14629,8 +14620,7 @@
 +	unsigned char udba_none, positive;
 +	struct super_block *sb, *h_sb;
 +	struct inode *inode;
-+	struct vfsmount *h_mnt;
-+	struct dentry *h_dentry;
++	struct path h_path;
 +
 +	sb = dentry->d_sb;
 +	inode = dentry->d_inode;
@@ -14663,30 +14653,31 @@
 +		di_read_lock_child(dentry, AuLock_IR);
 +
 +	bindex = au_ibstart(inode);
-+	h_mnt = au_sbr_mnt(sb, bindex);
-+	h_sb = h_mnt->mnt_sb;
++	h_path.mnt = au_sbr_mnt(sb, bindex);
++	h_sb = h_path.mnt->mnt_sb;
 +	if (!au_test_fs_bad_iattr(h_sb) && udba_none)
 +		goto out_fill; /* success */
 +
-+	h_dentry = NULL;
++	h_path.dentry = NULL;
 +	if (au_dbstart(dentry) == bindex)
-+		h_dentry = dget(au_h_dptr(dentry, bindex));
++		h_path.dentry = dget(au_h_dptr(dentry, bindex));
 +	else if (au_opt_test(mnt_flags, PLINK) && au_plink_test(inode)) {
-+		h_dentry = au_plink_lkup(inode, bindex);
-+		if (IS_ERR(h_dentry))
++		h_path.dentry = au_plink_lkup(inode, bindex);
++		if (IS_ERR(h_path.dentry))
 +			goto out_fill; /* pretending success */
 +	}
 +	/* illegally overlapped or something */
-+	if (unlikely(!h_dentry))
++	if (unlikely(!h_path.dentry))
 +		goto out_fill; /* pretending success */
 +
-+	positive = !!h_dentry->d_inode;
++	positive = !!h_path.dentry->d_inode;
 +	if (positive)
-+		err = vfs_getattr(h_mnt, h_dentry, st);
-+	dput(h_dentry);
++		err = vfs_getattr(&h_path, st);
++	dput(h_path.dentry);
 +	if (!err) {
 +		if (positive)
-+			au_refresh_iattr(inode, st, h_dentry->d_inode->i_nlink);
++			au_refresh_iattr(inode, st,
++					 h_path.dentry->d_inode->i_nlink);
 +		goto out_fill; /* success */
 +	}
 +	AuTraceErr(err);
@@ -18947,8 +18938,8 @@
 +ccflags-y += -DHFSPLUS_SUPER_MAGIC=0x482b
 +endif
 --- a/fs/aufs/module.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/module.c	2013-05-04 18:39:11.239157326 +0100
-@@ -0,0 +1,202 @@
++++ b/fs/aufs/module.c	2013-05-12 01:53:46.863187256 +0100
+@@ -0,0 +1,203 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -19054,6 +19045,7 @@
 +MODULE_DESCRIPTION(AUFS_NAME
 +	" -- Advanced multi layered unification filesystem");
 +MODULE_VERSION(AUFS_VERSION);
++MODULE_ALIAS_FS(AUFS_NAME);
 +
 +/* this module parameter has no meaning when SYSFS is disabled */
 +int sysaufs_brs = 1;
@@ -21172,8 +21164,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_OPTS_H__ */
 --- a/fs/aufs/plink.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/plink.c	2013-05-09 01:36:20.745181631 +0100
-@@ -0,0 +1,523 @@
++++ b/fs/aufs/plink.c	2013-05-12 01:53:46.867187257 +0100
+@@ -0,0 +1,520 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -21301,7 +21293,6 @@
 +	int i;
 +	struct au_sbinfo *sbinfo;
 +	struct hlist_head *plink_hlist;
-+	struct hlist_node *pos;
 +	struct pseudo_link *plink;
 +
 +	SiMustAnyLock(sb);
@@ -21313,7 +21304,7 @@
 +	for (i = 0; i < AuPlink_NHASH; i++) {
 +		plink_hlist = &sbinfo->si_plink[i].head;
 +		rcu_read_lock();
-+		hlist_for_each_entry_rcu(plink, pos, plink_hlist, hlist)
++		hlist_for_each_entry_rcu(plink, plink_hlist, hlist)
 +			AuDbg("%lu\n", plink->inode->i_ino);
 +		rcu_read_unlock();
 +	}
@@ -21326,7 +21317,6 @@
 +	int found, i;
 +	struct au_sbinfo *sbinfo;
 +	struct hlist_head *plink_hlist;
-+	struct hlist_node *pos;
 +	struct pseudo_link *plink;
 +
 +	sbinfo = au_sbi(inode->i_sb);
@@ -21338,7 +21328,7 @@
 +	i = au_plink_hash(inode->i_ino);
 +	plink_hlist = &sbinfo->si_plink[i].head;
 +	rcu_read_lock();
-+	hlist_for_each_entry_rcu(plink, pos, plink_hlist, hlist)
++	hlist_for_each_entry_rcu(plink, plink_hlist, hlist)
 +		if (plink->inode == inode) {
 +			found = 1;
 +			break;
@@ -21541,7 +21531,6 @@
 +	struct super_block *sb;
 +	struct au_sbinfo *sbinfo;
 +	struct hlist_head *plink_hlist;
-+	struct hlist_node *pos;
 +	struct pseudo_link *plink, *tmp;
 +	struct au_sphlhead *sphl;
 +	int found, err, cnt, i;
@@ -21567,7 +21556,7 @@
 +	}
 +
 +	spin_lock(&sphl->spin);
-+	hlist_for_each_entry(plink, pos, plink_hlist, hlist) {
++	hlist_for_each_entry(plink, plink_hlist, hlist) {
 +		if (plink->inode == inode) {
 +			found = 1;
 +			break;
@@ -21604,7 +21593,7 @@
 +	int i, warned;
 +	struct au_sbinfo *sbinfo;
 +	struct hlist_head *plink_hlist;
-+	struct hlist_node *pos, *tmp;
++	struct hlist_node *tmp;
 +	struct pseudo_link *plink;
 +
 +	SiMustWriteLock(sb);
@@ -21621,7 +21610,7 @@
 +			pr_warn("pseudo-link is not flushed");
 +			warned = 1;
 +		}
-+		hlist_for_each_entry_safe(plink, pos, tmp, plink_hlist, hlist)
++		hlist_for_each_entry_safe(plink, tmp, plink_hlist, hlist)
 +			do_put_plink(plink, 0);
 +		INIT_HLIST_HEAD(plink_hlist);
 +	}
@@ -21672,7 +21661,7 @@
 +{
 +	struct au_sbinfo *sbinfo;
 +	struct hlist_head *plink_hlist;
-+	struct hlist_node *pos, *tmp;
++	struct hlist_node *tmp;
 +	struct pseudo_link *plink;
 +	struct inode *inode;
 +	int i, do_put;
@@ -21686,7 +21675,7 @@
 +	/* no spin_lock since sbinfo is write-locked */
 +	for (i = 0; i < AuPlink_NHASH; i++) {
 +		plink_hlist = &sbinfo->si_plink[i].head;
-+		hlist_for_each_entry_safe(plink, pos, tmp, plink_hlist, hlist) {
++		hlist_for_each_entry_safe(plink, tmp, plink_hlist, hlist) {
 +			inode = au_igrab(plink->inode);
 +			ii_write_lock_child(inode);
 +			do_put = au_plink_do_half_refresh(inode, br_id);
@@ -22972,8 +22961,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_SPL_H__ */
 --- a/fs/aufs/super.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/super.c	2013-05-09 01:36:20.745181631 +0100
-@@ -0,0 +1,993 @@
++++ b/fs/aufs/super.c	2013-05-12 01:53:46.867187257 +0100
+@@ -0,0 +1,992 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -23959,9 +23948,8 @@
 +
 +struct file_system_type aufs_fs_type = {
 +	.name		= AUFS_FSTYPE,
-+	.fs_flags	=
-+		FS_RENAME_DOES_D_MOVE	/* a race between rename and others */
-+		| FS_REVAL_DOT,		/* for NFS branch and udba */
++	/* a race between rename and others */
++	.fs_flags	= FS_RENAME_DOES_D_MOVE,
 +	.mount		= aufs_mount,
 +	.kill_sb	= aufs_kill_sb,
 +	/* no need to __module_get() and module_put(). */
@@ -25001,7 +24989,7 @@
 +	}
 +}
 --- a/fs/aufs/sysrq.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/sysrq.c	2013-05-04 18:39:17.031157464 +0100
++++ b/fs/aufs/sysrq.c	2013-05-12 01:53:46.867187257 +0100
 @@ -0,0 +1,151 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -25094,7 +25082,7 @@
 +	lg_global_lock(&files_lglock);
 +	do_file_list_for_each_entry(sb, file) {
 +		umode_t mode;
-+		mode = file->f_dentry->d_inode->i_mode;
++		mode = file_inode(file)->i_mode;
 +		if (!special_file(mode) || au_special_file(mode))
 +			au_dpri_file(file);
 +	} while_file_list_for_each_entry;
@@ -25155,8 +25143,8 @@
 +		pr_err("err %d (ignored)\n", err);
 +}
 --- a/fs/aufs/vdir.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/vdir.c	2013-05-04 18:39:11.239157326 +0100
-@@ -0,0 +1,885 @@
++++ b/fs/aufs/vdir.c	2013-05-12 01:53:46.867187257 +0100
+@@ -0,0 +1,878 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -25264,24 +25252,20 @@
 +
 +static void au_nhash_wh_do_free(struct hlist_head *head)
 +{
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos, *node;
++	struct au_vdir_wh *pos;
++	struct hlist_node *node;
 +
-+	hlist_for_each_entry_safe(tpos, pos, node, head, wh_hash) {
-+		/* hlist_del(pos); */
-+		kfree(tpos);
-+	}
++	hlist_for_each_entry_safe(pos, node, head, wh_hash)
++		kfree(pos);
 +}
 +
 +static void au_nhash_de_do_free(struct hlist_head *head)
 +{
-+	struct au_vdir_dehstr *tpos;
-+	struct hlist_node *pos, *node;
++	struct au_vdir_dehstr *pos;
++	struct hlist_node *node;
 +
-+	hlist_for_each_entry_safe(tpos, pos, node, head, hash) {
-+		/* hlist_del(pos); */
-+		au_cache_free_vdir_dehstr(tpos);
-+	}
++	hlist_for_each_entry_safe(pos, node, head, hash)
++		au_cache_free_vdir_dehstr(pos);
 +}
 +
 +static void au_nhash_do_free(struct au_nhash *nhash,
@@ -25320,15 +25304,14 @@
 +	int num;
 +	unsigned int u, n;
 +	struct hlist_head *head;
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos;
++	struct au_vdir_wh *pos;
 +
 +	num = 0;
 +	n = whlist->nh_num;
 +	head = whlist->nh_head;
 +	for (u = 0; u < n; u++, head++)
-+		hlist_for_each_entry(tpos, pos, head, wh_hash)
-+			if (tpos->wh_bindex == btgt && ++num > limit)
++		hlist_for_each_entry(pos, head, wh_hash)
++			if (pos->wh_bindex == btgt && ++num > limit)
 +				return 1;
 +	return 0;
 +}
@@ -25360,13 +25343,12 @@
 +int au_nhash_test_known_wh(struct au_nhash *whlist, char *name, int nlen)
 +{
 +	struct hlist_head *head;
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos;
++	struct au_vdir_wh *pos;
 +	struct au_vdir_destr *str;
 +
 +	head = au_name_hash(whlist, name, nlen);
-+	hlist_for_each_entry(tpos, pos, head, wh_hash) {
-+		str = &tpos->wh_str;
++	hlist_for_each_entry(pos, head, wh_hash) {
++		str = &pos->wh_str;
 +		AuDbg("%.*s\n", str->len, str->name);
 +		if (au_nhash_test_name(str, name, nlen))
 +			return 1;
@@ -25378,13 +25360,12 @@
 +static int test_known(struct au_nhash *delist, char *name, int nlen)
 +{
 +	struct hlist_head *head;
-+	struct au_vdir_dehstr *tpos;
-+	struct hlist_node *pos;
++	struct au_vdir_dehstr *pos;
 +	struct au_vdir_destr *str;
 +
 +	head = au_name_hash(delist, name, nlen);
-+	hlist_for_each_entry(tpos, pos, head, hash) {
-+		str = tpos->str;
++	hlist_for_each_entry(pos, head, hash) {
++		str = pos->str;
 +		AuDbg("%.*s\n", str->len, str->name);
 +		if (au_nhash_test_name(str, name, nlen))
 +			return 1;
@@ -25673,8 +25654,8 @@
 +	int err;
 +	unsigned int nh, u;
 +	struct hlist_head *head;
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos, *n;
++	struct au_vdir_wh *pos;
++	struct hlist_node *n;
 +	char *p, *o;
 +	struct au_vdir_destr *destr;
 +
@@ -25691,11 +25672,11 @@
 +	p += AUFS_WH_PFX_LEN;
 +	for (u = 0; u < nh; u++) {
 +		head = whlist->nh_head + u;
-+		hlist_for_each_entry_safe(tpos, pos, n, head, wh_hash) {
-+			destr = &tpos->wh_str;
++		hlist_for_each_entry_safe(pos, n, head, wh_hash) {
++			destr = &pos->wh_str;
 +			memcpy(p, destr->name, destr->len);
 +			err = append_de(vdir, o, destr->len + AUFS_WH_PFX_LEN,
-+					tpos->wh_ino, tpos->wh_type, delist);
++					pos->wh_ino, pos->wh_type, delist);
 +			if (unlikely(err))
 +				break;
 +		}
@@ -25791,7 +25772,7 @@
 +	struct au_vdir *vdir, *allocated;
 +
 +	err = 0;
-+	inode = file->f_dentry->d_inode;
++	inode = file_inode(file);
 +	IMustLock(inode);
 +	SiMustAnyLock(inode->i_sb);
 +
@@ -25915,7 +25896,7 @@
 +	} else
 +		return 0; /* success */
 +
-+	inode = file->f_dentry->d_inode;
++	inode = file_inode(file);
 +	err = copy_vdir(vdir_cache, au_ivdir(inode));
 +	if (!err) {
 +		file->f_version = inode->i_version;
@@ -26043,7 +26024,7 @@
 +	return 0;
 +}
 --- a/fs/aufs/vfsub.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/vfsub.c	2013-05-04 18:39:17.031157464 +0100
++++ b/fs/aufs/vfsub.c	2013-05-12 01:53:46.867187257 +0100
 @@ -0,0 +1,769 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -26088,7 +26069,7 @@
 +	h_sb = h_path->dentry->d_sb;
 +	*did = (!au_test_fs_remote(h_sb) && au_test_fs_refresh_iattr(h_sb));
 +	if (*did)
-+		err = vfs_getattr(h_path->mnt, h_path->dentry, &st);
++		err = vfs_getattr(h_path, &st);
 +
 +	return err;
 +}
@@ -26815,8 +26796,8 @@
 +	return err;
 +}
 --- a/fs/aufs/vfsub.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/vfsub.h	2013-05-09 01:36:20.745181631 +0100
-@@ -0,0 +1,289 @@
++++ b/fs/aufs/vfsub.h	2013-05-12 01:53:46.867187257 +0100
+@@ -0,0 +1,294 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -27002,6 +26983,11 @@
 +int vfsub_flush(struct file *file, fl_owner_t id);
 +int vfsub_readdir(struct file *file, filldir_t filldir, void *arg);
 +
++static inline loff_t vfsub_f_size_read(struct file *file)
++{
++	return i_size_read(file_inode(file));
++}
++
 +static inline unsigned int vfsub_file_flags(struct file *file)
 +{
 +	unsigned int flags;
@@ -27811,8 +27797,8 @@
 +	}
 +};
 --- a/fs/aufs/whout.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/whout.c	2013-05-09 01:36:20.749181631 +0100
-@@ -0,0 +1,1023 @@
++++ b/fs/aufs/whout.c	2013-05-12 01:53:46.871187257 +0100
+@@ -0,0 +1,1022 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -28607,8 +28593,7 @@
 +	struct qstr wh_name;
 +	char *p;
 +	struct hlist_head *head;
-+	struct au_vdir_wh *tpos;
-+	struct hlist_node *pos;
++	struct au_vdir_wh *pos;
 +	struct au_vdir_destr *str;
 +
 +	err = -ENOMEM;
@@ -28623,11 +28608,11 @@
 +	n = whlist->nh_num;
 +	head = whlist->nh_head;
 +	for (ul = 0; !err && ul < n; ul++, head++) {
-+		hlist_for_each_entry(tpos, pos, head, wh_hash) {
-+			if (tpos->wh_bindex != bindex)
++		hlist_for_each_entry(pos, head, wh_hash) {
++			if (pos->wh_bindex != bindex)
 +				continue;
 +
-+			str = &tpos->wh_str;
++			str = &pos->wh_str;
 +			if (str->len + AUFS_WH_PFX_LEN <= PATH_MAX) {
 +				memcpy(p, str->name, str->len);
 +				wh_name.len = AUFS_WH_PFX_LEN + str->len;
@@ -29239,8 +29224,8 @@
 +#endif /* __KERNEL__ */
 +#endif /* __AUFS_WKQ_H__ */
 --- a/fs/aufs/xino.c	1970-01-01 01:00:00.000000000 +0100
-+++ b/fs/aufs/xino.c	2013-05-09 01:36:20.749181631 +0100
-@@ -0,0 +1,1265 @@
++++ b/fs/aufs/xino.c	2013-05-12 01:53:46.871187257 +0100
+@@ -0,0 +1,1264 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
 + *
@@ -29408,7 +29393,7 @@
 +		goto out_dput;
 +	}
 +
-+	path.mnt = base_file->f_vfsmnt;
++	path.mnt = base_file->f_path.mnt;
 +	file = vfsub_dentry_open(&path,
 +				 O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE
 +				 /* | __FMODE_NONOTIFY */);
@@ -29425,8 +29410,7 @@
 +
 +	if (copy_src) {
 +		/* no one can touch copy_src xino */
-+		err = au_copy_file(file, copy_src,
-+				   i_size_read(copy_src->f_dentry->d_inode));
++		err = au_copy_file(file, copy_src, vfsub_f_size_read(copy_src));
 +		if (unlikely(err)) {
 +			pr_err("%.*s copy err %d\n", AuLNPair(name), err);
 +			goto out_fput;
@@ -29553,7 +29537,7 @@
 +	bindex = au_br_index(sb, br->br_id);
 +	err = au_xino_trunc(sb, bindex);
 +	if (!err
-+	    && br->br_xino.xi_file->f_dentry->d_inode->i_blocks
++	    && file_inode(br->br_xino.xi_file)->i_blocks
 +	    >= br->br_xino_upper)
 +		br->br_xino_upper += AUFS_XINO_TRUNC_STEP;
 +
@@ -29573,7 +29557,7 @@
 +	struct xino_do_trunc_args *args;
 +	int wkq_err;
 +
-+	if (br->br_xino.xi_file->f_dentry->d_inode->i_blocks
++	if (file_inode(br->br_xino.xi_file)->i_blocks
 +	    < br->br_xino_upper)
 +		return;
 +
@@ -29710,7 +29694,7 @@
 +
 +	pos = pindex;
 +	pos *= PAGE_SIZE;
-+	if (i_size_read(xib->f_dentry->d_inode) >= pos + PAGE_SIZE)
++	if (vfsub_f_size_read(xib) >= pos + PAGE_SIZE)
 +		sz = xino_fread(sbinfo->si_xread, xib, p, PAGE_SIZE, &pos);
 +	else {
 +		memset(p, 0, PAGE_SIZE);
@@ -29843,7 +29827,7 @@
 +	}
 +
 +	file = sbinfo->si_xib;
-+	pend = i_size_read(file->f_dentry->d_inode) / PAGE_SIZE;
++	pend = vfsub_f_size_read(file) / PAGE_SIZE;
 +	for (ul = pindex + 1; ul <= pend; ul++) {
 +		err = xib_pindex(sb, ul);
 +		if (unlikely(err))
@@ -29896,7 +29880,7 @@
 +	pos *= sizeof(*ino);
 +
 +	file = au_sbr(sb, bindex)->br_xino.xi_file;
-+	if (i_size_read(file->f_dentry->d_inode) < pos + sizeof(*ino))
++	if (vfsub_f_size_read(file) < pos + sizeof(*ino))
 +		return 0; /* no ino */
 +
 +	sz = xino_fread(sbinfo->si_xread, file, ino, sizeof(*ino), &pos);
@@ -30071,7 +30055,7 @@
 +	MtxMustLock(&sbinfo->si_xib_mtx);
 +	p = sbinfo->si_xib_buf;
 +	func = sbinfo->si_xread;
-+	pend = i_size_read(file->f_dentry->d_inode);
++	pend = vfsub_f_size_read(file);
 +	pos = 0;
 +	while (pos < pend) {
 +		sz = xino_fread(func, file, page, PAGE_SIZE, &pos);
@@ -30141,7 +30125,7 @@
 +		goto out;
 +
 +	file = sbinfo->si_xib;
-+	if (i_size_read(file->f_dentry->d_inode) <= PAGE_SIZE)
++	if (vfsub_f_size_read(file) <= PAGE_SIZE)
 +		goto out;
 +
 +	au_xino_lock_dir(sb, file, &ldir);
@@ -30251,7 +30235,7 @@
 +
 +	sbinfo->si_xib_last_pindex = 0;
 +	sbinfo->si_xib_next_bit = 0;
-+	if (i_size_read(file->f_dentry->d_inode) < PAGE_SIZE) {
++	if (vfsub_f_size_read(file) < PAGE_SIZE) {
 +		pos = 0;
 +		err = xino_fwrite(sbinfo->si_xwrite, file, sbinfo->si_xib_buf,
 +				  PAGE_SIZE, &pos);
@@ -30529,7 +30513,7 @@
 +
 +#include <uapi/linux/aufs_type.h>
 --- a/include/uapi/linux/aufs_type.h	1970-01-01 01:00:00.000000000 +0100
-+++ b/include/uapi/linux/aufs_type.h	2013-05-09 01:36:20.749181631 +0100
++++ b/include/uapi/linux/aufs_type.h	2013-05-12 01:53:46.871187257 +0100
 @@ -0,0 +1,235 @@
 +/*
 + * Copyright (C) 2005-2013 Junjiro R. Okajima
@@ -30573,7 +30557,7 @@
 +
 +#include <linux/limits.h>
 +
-+#define AUFS_VERSION	"3.8-20130506"
++#define AUFS_VERSION	"3.9-20130506"
 +
 +/* todo? move this to linux-2.6.19/include/magic.h */
 +#define AUFS_SUPER_MAGIC	('a' << 24 | 'u' << 16 | 'f' << 8 | 's')

Modified: dists/sid/linux/debian/patches/features/all/aufs3/aufs3-base.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/aufs3/aufs3-base.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/aufs3/aufs3-base.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -1,7 +1,7 @@
-aufs3.8 base patch
+aufs3.9 base patch
 
 diff --git a/fs/file_table.c b/fs/file_table.c
-index de9e965..e73287a 100644
+index cd4d87a..ca5948f 100644
 --- a/fs/file_table.c
 +++ b/fs/file_table.c
 @@ -36,7 +36,7 @@ struct files_stat_struct files_stat = {
@@ -14,10 +14,10 @@
  /* SLAB cache for file structures */
  static struct kmem_cache *filp_cachep __read_mostly;
 diff --git a/fs/inode.c b/fs/inode.c
-index 14084b7..ece87ed 100644
+index a898b3d..e83cd1e 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
-@@ -1503,7 +1503,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
+@@ -1498,7 +1498,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
   * This does the actual work of updating an inodes time or version.  Must have
   * had called mnt_want_write() before calling this.
   */
@@ -27,10 +27,10 @@
  	if (inode->i_op->update_time)
  		return inode->i_op->update_time(inode, time, flags);
 diff --git a/fs/splice.c b/fs/splice.c
-index 6909d89..020c7bc 100644
+index 29e394e..7117387 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1092,8 +1092,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -1095,8 +1095,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
  /*
   * Attempt to initiate a splice from pipe to file.
   */
@@ -41,7 +41,7 @@
  {
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
  				loff_t *, size_t, unsigned int);
-@@ -1120,9 +1120,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1123,9 +1123,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  /*
   * Attempt to initiate a splice from a file to a pipe.
   */
@@ -55,10 +55,10 @@
  	ssize_t (*splice_read)(struct file *, loff_t *,
  			       struct pipe_inode_info *, size_t, unsigned int);
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 7617ee0..1a39c33 100644
+index 2c28271..5c49108 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -2551,6 +2551,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
+@@ -2558,6 +2558,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
  extern int inode_newsize_ok(const struct inode *, loff_t offset);
  extern void setattr_copy(struct inode *inode, const struct iattr *attr);
  

Modified: dists/sid/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/aufs3/aufs3-kbuild.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -1,4 +1,4 @@
-aufs3.8 kbuild patch
+aufs3.9 kbuild patch
 
 diff --git a/fs/Kconfig b/fs/Kconfig
 index 780725a..d460c05 100644
@@ -22,7 +22,7 @@
  obj-$(CONFIG_PSTORE)		+= pstore/
 +obj-$(CONFIG_AUFS_FS)           += aufs/
 diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
-index 4e67194..cc5b423 100644
+index 5c8a1d2..fea7572 100644
 --- a/include/uapi/linux/Kbuild
 +++ b/include/uapi/linux/Kbuild
 @@ -56,6 +56,7 @@ header-y += atmppp.h

Modified: dists/sid/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/aufs3/aufs3-standalone.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -1,7 +1,7 @@
-aufs3.8 standalone patch
+aufs3.9 standalone patch
 
 diff --git a/fs/file_table.c b/fs/file_table.c
-index e73287a..b33aebe 100644
+index ca5948f..b553610 100644
 --- a/fs/file_table.c
 +++ b/fs/file_table.c
 @@ -37,6 +37,7 @@ struct files_stat_struct files_stat = {
@@ -12,7 +12,7 @@
  
  /* SLAB cache for file structures */
  static struct kmem_cache *filp_cachep __read_mostly;
-@@ -403,6 +404,8 @@ void file_sb_list_del(struct file *file)
+@@ -404,6 +405,8 @@ void file_sb_list_del(struct file *file)
  	}
  }
  
@@ -22,7 +22,7 @@
  
  /*
 diff --git a/fs/inode.c b/fs/inode.c
-index ece87ed..38f7bc8 100644
+index e83cd1e..fa2245a 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
 @@ -56,6 +56,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
@@ -33,7 +33,7 @@
  
  /*
   * Empty aops. Can be used for the cases where the user does not
-@@ -1519,6 +1520,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
+@@ -1514,6 +1515,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
  	mark_inode_dirty_sync(inode);
  	return 0;
  }
@@ -42,7 +42,7 @@
  /**
   *	touch_atime	-	update the access time
 diff --git a/fs/namespace.c b/fs/namespace.c
-index 55605c5..9dbe3b9 100644
+index 341d3f5..18f5bb0 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
 @@ -52,6 +52,7 @@ EXPORT_SYMBOL_GPL(fs_kobj);
@@ -61,7 +61,7 @@
  
  /**
   * mnt_drop_write - give up write access to a mount
-@@ -1424,6 +1426,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
+@@ -1417,6 +1419,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
  	}
  	return 0;
  }
@@ -142,10 +142,10 @@
  static int fsnotify_mark_destroy(void *ignored)
  {
 diff --git a/fs/open.c b/fs/open.c
-index 9b33c0c..e3365035 100644
+index 6835446..df2262a 100644
 --- a/fs/open.c
 +++ b/fs/open.c
-@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
+@@ -61,6 +61,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
  	mutex_unlock(&dentry->d_inode->i_mutex);
  	return ret;
  }
@@ -154,10 +154,10 @@
  long vfs_truncate(struct path *path, loff_t length)
  {
 diff --git a/fs/splice.c b/fs/splice.c
-index 020c7bc..a622ade 100644
+index 7117387..af8fd2d 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1116,6 +1116,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -1119,6 +1119,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  
  	return splice_write(pipe, out, ppos, len, flags);
  }
@@ -165,7 +165,7 @@
  
  /*
   * Attempt to initiate a splice from a file to a pipe.
-@@ -1142,6 +1143,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
+@@ -1145,6 +1146,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
  
  	return splice_read(in, ppos, pipe, len, flags);
  }
@@ -174,7 +174,7 @@
  /**
   * splice_direct_to_actor - splices data directly between two non-pipes
 diff --git a/security/commoncap.c b/security/commoncap.c
-index 7ee08c7..176edf1 100644
+index c44b6fe..d78b003 100644
 --- a/security/commoncap.c
 +++ b/security/commoncap.c
 @@ -988,9 +988,11 @@ int cap_mmap_addr(unsigned long addr)
@@ -190,7 +190,7 @@
  }
 +EXPORT_SYMBOL_GPL(cap_mmap_file);
 diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index d794abc..a20f167 100644
+index 1c69e38..7392d19 100644
 --- a/security/device_cgroup.c
 +++ b/security/device_cgroup.c
 @@ -7,6 +7,7 @@
@@ -201,7 +201,7 @@
  #include <linux/list.h>
  #include <linux/uaccess.h>
  #include <linux/seq_file.h>
-@@ -631,6 +632,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
+@@ -634,6 +635,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
  	return __devcgroup_check_permission(type, imajor(inode), iminor(inode),
  			access);
  }
@@ -210,7 +210,7 @@
  int devcgroup_inode_mknod(int mode, dev_t dev)
  {
 diff --git a/security/security.c b/security/security.c
-index 7b88c6a..5d00a30 100644
+index 03f248b..892e803 100644
 --- a/security/security.c
 +++ b/security/security.c
 @@ -396,6 +396,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)

Modified: dists/sid/linux/debian/patches/features/all/aufs3/mark-as-staging.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/aufs3/mark-as-staging.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/aufs3/mark-as-staging.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -5,10 +5,10 @@
 
 --- a/fs/aufs/module.c
 +++ b/fs/aufs/module.c
-@@ -89,6 +89,7 @@
- MODULE_DESCRIPTION(AUFS_NAME
+@@ -104,6 +104,7 @@ MODULE_DESCRIPTION(AUFS_NAME
  	" -- Advanced multi layered unification filesystem");
  MODULE_VERSION(AUFS_VERSION);
+ MODULE_ALIAS_FS(AUFS_NAME);
 +MODULE_INFO(staging, "Y");
  
  /* this module parameter has no meaning when SYSFS is disabled */

Modified: dists/sid/linux/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -32,7 +32,7 @@
  	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -849,6 +849,14 @@ config MEMCG
+@@ -845,6 +845,14 @@ config MEMCG
  	  This config option also selects MM_OWNER config option, which
  	  could in turn add some fork/exit overhead.
  
@@ -49,7 +49,7 @@
  	depends on MEMCG && SWAP
 --- a/kernel/cgroup.c
 +++ b/kernel/cgroup.c
-@@ -5149,7 +5149,7 @@ static void cgroup_release_agent(struct
+@@ -5193,7 +5193,7 @@ static void cgroup_release_agent(struct
  	mutex_unlock(&cgroup_mutex);
  }
  
@@ -58,7 +58,7 @@
  {
  	int i;
  	char *token;
-@@ -5169,17 +5169,29 @@ static int __init cgroup_disable(char *s
+@@ -5213,17 +5213,29 @@ static int __init cgroup_disable(char *s
  				continue;
  
  			if (!strcmp(token, ss->name)) {
@@ -93,7 +93,7 @@
   */
 --- a/mm/memcontrol.c
 +++ b/mm/memcontrol.c
-@@ -6745,6 +6745,9 @@ static void mem_cgroup_move_task(struct
+@@ -6789,6 +6789,9 @@ static void mem_cgroup_move_task(struct
  
  struct cgroup_subsys mem_cgroup_subsys = {
  	.name = "memory",
@@ -102,4 +102,4 @@
 +#endif
  	.subsys_id = mem_cgroup_subsys_id,
  	.css_alloc = mem_cgroup_css_alloc,
- 	.css_offline = mem_cgroup_css_offline,
+ 	.css_online = mem_cgroup_css_online,

Modified: dists/sid/linux/debian/patches/features/all/xen/microcode.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/xen/microcode.patch	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/features/all/xen/microcode.patch	Thu May 30 01:34:59 2013	(r20138)
@@ -27,8 +27,8 @@
 
 --- a/arch/x86/include/asm/microcode.h
 +++ b/arch/x86/include/asm/microcode.h
-@@ -63,4 +63,13 @@ static inline struct microcode_ops * __i
- static inline void __exit exit_amd_microcode(void) {}
+@@ -71,4 +71,13 @@ static inline int __init save_microcode_
+ }
  #endif
  
 +#ifdef CONFIG_MICROCODE_XEN
@@ -43,7 +43,7 @@
  #endif /* _ASM_X86_MICROCODE_H */
 --- a/arch/x86/kernel/Makefile
 +++ b/arch/x86/kernel/Makefile
-@@ -92,6 +92,7 @@ obj-$(CONFIG_PCSPKR_PLATFORM)	+= pcspeak
+@@ -93,6 +93,7 @@ obj-$(CONFIG_MICROCODE_INTEL_LIB)	+= mic
  microcode-y				:= microcode_core.o
  microcode-$(CONFIG_MICROCODE_INTEL)	+= microcode_intel.o
  microcode-$(CONFIG_MICROCODE_AMD)	+= microcode_amd.o
@@ -61,7 +61,7 @@
  #include <asm/microcode.h>
  #include <asm/processor.h>
  #include <asm/cpu_device_id.h>
-@@ -544,7 +545,9 @@ static int __init microcode_init(void)
+@@ -546,7 +547,9 @@ static int __init microcode_init(void)
  	struct cpuinfo_x86 *c = &cpu_data(0);
  	int error;
  
@@ -275,7 +275,7 @@
 +}
 --- a/arch/x86/xen/Kconfig
 +++ b/arch/x86/xen/Kconfig
-@@ -50,3 +50,6 @@ config XEN_DEBUG_FS
+@@ -51,3 +51,6 @@ config XEN_DEBUG_FS
  	  Enable statistics output and various tuning options in debugfs.
  	  Enabling this option may incur a significant performance overhead.
  

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/patches/series	Thu May 30 01:34:59 2013	(r20138)
@@ -42,7 +42,6 @@
 
 features/all/cpu-devices/Partially-revert-cpufreq-Add-support-for-x86-cpuinfo.patch
 
-bugfix/alpha/alpha-use-large-data-model.diff
 debian/iwlwifi-do-not-request-unreleased-firmware.patch
 debian/cirrus-disable-modeset-by-default.patch
 debian/fs-enable-link-security-restrictions-by-default.patch
@@ -68,15 +67,11 @@
 features/all/alx/remove-atl1c-devices-from-alx.patch
 features/all/alx/mark-as-staging.patch
 
-bugfix/ia64/nouveau-ACPI-support-is-dependent-on-X86.patch
 debian/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
 
 bugfix/all/mm-Try-harder-to-allocate-vmemmap-blocks.patch
 features/all/alx/alx-update-for-3.8.patch
-bugfix/mips/mips-add-dependencies-for-have_arch_transparent_hugepage.patch
 debian/efi-autoload-efivars.patch
-bugfix/all/efi_pstore-Introducing-workqueue-updating-sysfs.patch
-bugfix/all/efivars-explicitly-calculate-length-of-VariableName.patch
-bugfix/all/efivars-Handle-duplicate-names-from-get_next_variabl.patch
 debian/efivars-remove-check-for-50-full-on-write.patch
 debian/cdc_ncm-cdc_mbim-use-ncm-by-default.patch
+debian/powerpcspe-omit-uimage.patch

Modified: dists/sid/linux/debian/templates/control.source.in
==============================================================================
--- dists/sid/linux/debian/templates/control.source.in	Mon May 27 17:03:44 2013	(r20137)
+++ dists/sid/linux/debian/templates/control.source.in	Thu May 30 01:34:59 2013	(r20138)
@@ -3,7 +3,7 @@
 Maintainer: Debian Kernel Team <debian-kernel at lists.debian.org>
 Uploaders: Bastian Blank <waldi at debian.org>, Frederik Schüler <fs at debian.org>, maximilian attems <maks at debian.org>, Ben Hutchings <ben at decadent.org.uk>
 Standards-Version: 3.9.2
-Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.7), lzma [armel], kernel-wedge (>= 2.84), quilt, patchutils
+Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.7), lzma [armel], kernel-wedge (>= 2.84), quilt, patchutils, bc
 Build-Depends-Indep: bzip2, xmlto
 Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux/
 Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/



More information about the Kernel-svn-changes mailing list