From 178c11c16c642d629f7de6981adc291b9de5b62c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 21 Feb 2010 11:13:46 +0100 Subject: [PATCH] linux: - remove unneeded patches --- .../linux/patches/12_path-max-limits.diff | 13 - packages/linux/patches/70_enable-utf8.diff | 25 ++ .../patches/close_debug_info_of_rt2860.diff | 36 --- .../hda_intel-prealloc-4mb-dmabuffer.diff | 35 --- ...inux-2.6-driver-level-usb-autosuspend.diff | 60 ---- .../linux-2.6-usb-uvc-autosuspend.diff | 19 -- .../patches/linux-2.6.29-sreadahead.diff | 96 ------ .../linux-2.6.33-ahci-alpm-accounting.diff | 280 ------------------ .../patches/linux-2.6.33-rt2860-1-2.diff | 48 --- .../patches/linux-2.6.33-rt2860-2-2.diff | 24 -- .../patches/linux-2.6.33-vfs-tracepoints.diff | 120 -------- .../linux/patches/rtl8192_carrier_off.diff | 52 ---- .../linux/patches/rtl8192_no_WAP_unassoc.diff | 40 --- .../linux/patches/rtl8192_no_autoconnect.diff | 41 --- 14 files changed, 25 insertions(+), 864 deletions(-) delete mode 100644 packages/linux/patches/12_path-max-limits.diff create mode 100644 packages/linux/patches/70_enable-utf8.diff delete mode 100644 packages/linux/patches/close_debug_info_of_rt2860.diff delete mode 100644 packages/linux/patches/hda_intel-prealloc-4mb-dmabuffer.diff delete mode 100644 packages/linux/patches/linux-2.6-driver-level-usb-autosuspend.diff delete mode 100644 packages/linux/patches/linux-2.6-usb-uvc-autosuspend.diff delete mode 100644 packages/linux/patches/linux-2.6.29-sreadahead.diff delete mode 100644 packages/linux/patches/linux-2.6.33-ahci-alpm-accounting.diff delete mode 100644 packages/linux/patches/linux-2.6.33-rt2860-1-2.diff delete mode 100644 packages/linux/patches/linux-2.6.33-rt2860-2-2.diff delete mode 100644 packages/linux/patches/linux-2.6.33-vfs-tracepoints.diff delete mode 100644 packages/linux/patches/rtl8192_carrier_off.diff delete mode 100644 packages/linux/patches/rtl8192_no_WAP_unassoc.diff delete mode 100644 packages/linux/patches/rtl8192_no_autoconnect.diff diff --git a/packages/linux/patches/12_path-max-limits.diff b/packages/linux/patches/12_path-max-limits.diff deleted file mode 100644 index 1bad5890f3..0000000000 --- a/packages/linux/patches/12_path-max-limits.diff +++ /dev/null @@ -1,13 +0,0 @@ -required for PATH_MAX - -diff -Nur linux-2.6.17.1.orig/scripts/mod/sumversion.c linux-2.6.17.1/scripts/mod/sumversion.c ---- linux-2.6.17.1.orig/scripts/mod/sumversion.c Thu Jun 22 22:22:44 2006 -+++ linux-2.6.17.1/scripts/mod/sumversion.c Thu Jun 22 22:22:04 2006 -@@ -4,6 +4,7 @@ - #else - #include - #endif -+#include - #include - #include - #include diff --git a/packages/linux/patches/70_enable-utf8.diff b/packages/linux/patches/70_enable-utf8.diff new file mode 100644 index 0000000000..bee1cf3da8 --- /dev/null +++ b/packages/linux/patches/70_enable-utf8.diff @@ -0,0 +1,25 @@ +diff -Naur linux-2.6.31-rc4.orig/fs/fat/inode.c linux-2.6.31-rc4/fs/fat/inode.c +--- linux-2.6.31-rc4.orig/fs/fat/inode.c 2009-07-25 12:47:41.000000000 +0200 ++++ linux-2.6.31-rc4/fs/fat/inode.c 2009-07-25 13:38:18.000000000 +0200 +@@ -979,7 +979,8 @@ + } + opts->name_check = 'n'; + opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0; +- opts->utf8 = opts->unicode_xlate = 0; ++ opts->utf8 = 1; ++ opts->unicode_xlate = 0; + opts->numtail = 1; + opts->usefree = opts->nocase = 0; + opts->tz_utc = 0; +diff -Naur linux-2.6.31-rc4.orig/fs/isofs/inode.c linux-2.6.31-rc4/fs/isofs/inode.c +--- linux-2.6.31-rc4.orig/fs/isofs/inode.c 2009-07-25 12:47:41.000000000 +0200 ++++ linux-2.6.31-rc4/fs/isofs/inode.c 2009-07-25 13:38:49.000000000 +0200 +@@ -377,7 +377,7 @@ + popt->gid = 0; + popt->uid = 0; + popt->iocharset = NULL; +- popt->utf8 = 0; ++ popt->utf8 = 1; + popt->overriderockperm = 0; + popt->session=-1; + popt->sbsector=-1; diff --git a/packages/linux/patches/close_debug_info_of_rt2860.diff b/packages/linux/patches/close_debug_info_of_rt2860.diff deleted file mode 100644 index e1bc13cf07..0000000000 --- a/packages/linux/patches/close_debug_info_of_rt2860.diff +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/drivers/staging/rt2860/rt_linux.c b/drivers/staging/rt2860/rt_linux.c -index 9357fb2..7e0b6c0 100644 ---- a/drivers/staging/rt2860/rt_linux.c -+++ b/drivers/staging/rt2860/rt_linux.c -@@ -28,7 +28,7 @@ - #include - #include "rt_config.h" - --unsigned long RTDebugLevel = RT_DEBUG_ERROR; -+unsigned long RTDebugLevel = RT_DEBUG_OFF; - - /* for wireless system event message */ - char const *pWirelessSysEventText[IW_SYS_EVENT_TYPE_NUM] = { -diff --git a/drivers/staging/rt2860/rt_linux.h b/drivers/staging/rt2860/rt_linux.h -index f85508d..92ce551 100644 ---- a/drivers/staging/rt2860/rt_linux.h -+++ b/drivers/staging/rt2860/rt_linux.h -@@ -425,16 +425,9 @@ do{ \ - - #define DBGPRINT(Level, Fmt) DBGPRINT_RAW(Level, Fmt) - --#define DBGPRINT_ERR(Fmt) \ --{ \ -- printk("ERROR! "); \ -- printk Fmt; \ --} -+#define DBGPRINT_ERR(Fmt) - --#define DBGPRINT_S(Status, Fmt) \ --{ \ -- printk Fmt; \ --} -+#define DBGPRINT_S(Status, Fmt) - - #else - #define DBGPRINT(Level, Fmt) diff --git a/packages/linux/patches/hda_intel-prealloc-4mb-dmabuffer.diff b/packages/linux/patches/hda_intel-prealloc-4mb-dmabuffer.diff deleted file mode 100644 index c80f11d9da..0000000000 --- a/packages/linux/patches/hda_intel-prealloc-4mb-dmabuffer.diff +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c -index c8d9178..7d3bb15 100644 ---- a/sound/pci/hda/hda_intel.c -+++ b/sound/pci/hda/hda_intel.c -@@ -1774,6 +1774,7 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, - struct azx_pcm *apcm; - int pcm_dev = cpcm->device; - int s, err; -+ size_t prealloc_min = 64*1024; /* 64KB */ - - if (pcm_dev >= AZX_MAX_PCMS) { - snd_printk(KERN_ERR SFX "Invalid PCM device number %d\n", -@@ -1807,10 +1808,21 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec, - if (cpcm->stream[s].substreams) - snd_pcm_set_ops(pcm, s, &azx_pcm_ops); - } -+ - /* buffer pre-allocation */ -+ -+ /* subtle, don't allocate a big buffer for modems... -+ * also, don't just test 32BIT_MASK, since azx supports -+ * 64-bit DMA in some cases. -+ */ -+ /* lennart wants a 2.2MB buffer for 2sec of 48khz */ -+ if (pcm->dev_class == SNDRV_PCM_CLASS_GENERIC && -+ chip->pci->dma_mask >= DMA_32BIT_MASK) -+ prealloc_min = 4 * 1024 * 1024; /* 4MB */ -+ - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, - snd_dma_pci_data(chip->pci), -- 1024 * 64, 32 * 1024 * 1024); -+ prealloc_min, 32 * 1024 * 1024); - return 0; - } - diff --git a/packages/linux/patches/linux-2.6-driver-level-usb-autosuspend.diff b/packages/linux/patches/linux-2.6-driver-level-usb-autosuspend.diff deleted file mode 100644 index fc0fd7e4a5..0000000000 --- a/packages/linux/patches/linux-2.6-driver-level-usb-autosuspend.diff +++ /dev/null @@ -1,60 +0,0 @@ -commit 0f592e33934bf6108e33e34f00b425f98ee833ef -Author: Matthew Garrett -Date: Wed Jul 8 19:04:23 2009 +0100 - - usb: Allow drivers to enable USB autosuspend on a per-device basis - - USB autosuspend is currently only enabled by default for hubs. On other - hardware the decision is made by userspace. This is unnecessary in cases - where we know that the hardware supports autosuspend, so this patch adds - a function to allow drivers to enable it at probe time. - - Signed-off-by: Matthew Garrett - -diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c -index 60a45f1..06d24df 100644 ---- a/drivers/usb/core/driver.c -+++ b/drivers/usb/core/driver.c -@@ -1648,6 +1648,20 @@ void usb_autopm_put_interface_async(struct usb_interface *intf) - EXPORT_SYMBOL_GPL(usb_autopm_put_interface_async); - - /** -+ * usb_device_autosuspend_enable - enable autosuspend on a device -+ * @udev: the usb_device to be autosuspended -+ * -+ * This routine should be called by an interface driver when it knows that -+ * the device in question supports USB autosuspend. -+ * -+ */ -+void usb_device_autosuspend_enable(struct usb_device *udev) -+{ -+ udev->autosuspend_disabled = 0; -+} -+EXPORT_SYMBOL_GPL(usb_device_autosuspend_enable); -+ -+/** - * usb_autopm_get_interface - increment a USB interface's PM-usage counter - * @intf: the usb_interface whose counter should be incremented - * -diff --git a/include/linux/usb.h b/include/linux/usb.h -index e101a2d..dd47590 100644 ---- a/include/linux/usb.h -+++ b/include/linux/usb.h -@@ -540,6 +540,7 @@ extern struct usb_device *usb_find_device(u16 vendor_id, u16 product_id); - - /* USB autosuspend and autoresume */ - #ifdef CONFIG_USB_SUSPEND -+extern void usb_device_autosuspend_enable(struct usb_device *udev); - extern int usb_autopm_get_interface(struct usb_interface *intf); - extern void usb_autopm_put_interface(struct usb_interface *intf); - extern int usb_autopm_get_interface_async(struct usb_interface *intf); -@@ -563,6 +564,9 @@ static inline void usb_mark_last_busy(struct usb_device *udev) - - #else - -+static inline void usb_device_autosuspend_enable(struct usb_device *udev) -+{ } -+ - static inline int usb_autopm_get_interface(struct usb_interface *intf) - { return 0; } - static inline int usb_autopm_get_interface_async(struct usb_interface *intf) diff --git a/packages/linux/patches/linux-2.6-usb-uvc-autosuspend.diff b/packages/linux/patches/linux-2.6-usb-uvc-autosuspend.diff deleted file mode 100644 index b7c7f6e0f4..0000000000 --- a/packages/linux/patches/linux-2.6-usb-uvc-autosuspend.diff +++ /dev/null @@ -1,19 +0,0 @@ -commit 9d4c919bcfa794c054cc33155c7e3c53ac2c5684 -Author: Matthew Garrett -Date: Sun Jul 19 02:24:49 2009 +0100 - - Enable autosuspend on UVC by default - -diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c -index 89927b7..8de516b 100644 ---- a/drivers/media/video/uvc/uvc_driver.c -+++ b/drivers/media/video/uvc/uvc_driver.c -@@ -1647,6 +1647,8 @@ static int uvc_probe(struct usb_interface *intf, - "supported.\n", ret); - } - -+ usb_device_autosuspend_enable(udev); -+ - uvc_trace(UVC_TRACE_PROBE, "UVC device initialized.\n"); - return 0; - diff --git a/packages/linux/patches/linux-2.6.29-sreadahead.diff b/packages/linux/patches/linux-2.6.29-sreadahead.diff deleted file mode 100644 index a6764a23db..0000000000 --- a/packages/linux/patches/linux-2.6.29-sreadahead.diff +++ /dev/null @@ -1,96 +0,0 @@ -From 4d690855d6bdc15b753ac3c21bf507ad94d46aac Mon Sep 17 00:00:00 2001 -From: Arjan van de Ven -Date: Sun, 21 Sep 2008 11:58:27 -0700 -Subject: [PATCH] superreadahead patch - ---- - fs/ext3/ioctl.c | 3 +++ - fs/ext3/super.c | 1 + - include/linux/ext3_fs.h | 1 + - include/linux/fs.h | 2 ++ - 4 files changed, 7 insertions(+), 0 deletions(-) - -diff --git a/fs/ext3/ioctl.c b/fs/ext3/ioctl.c -index 8897481..08f4854 100644 ---- a/fs/ext3/ioctl.c -+++ b/fs/ext3/ioctl.c -@@ -276,6 +276,9 @@ group_add_out: - mnt_drop_write(filp->f_path.mnt); - return err; - } -+ case EXT3_IOC_INODE_JIFFIES: { -+ return inode->created_when; -+ } - - - default: -diff --git a/fs/ext3/super.c b/fs/ext3/super.c -index 524b349..e6e8514 100644 ---- a/fs/ext3/super.c -+++ b/fs/ext3/super.c -@@ -466,6 +466,7 @@ static struct inode *ext3_alloc_inode(struct super_block *sb) - return NULL; - ei->i_block_alloc_info = NULL; - ei->vfs_inode.i_version = 1; -+ ei->vfs_inode.created_when = jiffies; - atomic_set(&ei->i_datasync_tid, 0); - atomic_set(&ei->i_sync_tid, 0); - return &ei->vfs_inode; -diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h -index 634a5e5..84d5394 100644 ---- a/include/linux/ext3_fs.h -+++ b/include/linux/ext3_fs.h -@@ -250,6 +250,7 @@ struct ext3_new_group_data { - #endif - #define EXT3_IOC_GETRSVSZ _IOR('f', 5, long) - #define EXT3_IOC_SETRSVSZ _IOW('f', 6, long) -+#define EXT3_IOC_INODE_JIFFIES _IOR('f', 19, long) - - /* - * ioctl commands in 32 bit emulation -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 0872372..078e3fd 100644 ---- a/include/linux/fs.h -+++ b/include/linux/fs.h -@@ -781,6 +781,8 @@ struct inode { - struct posix_acl *i_default_acl; - #endif - void *i_private; /* fs or device private pointer */ -+ -+ unsigned long created_when; /* jiffies of creation time */ - }; - - /* --- -1.6.0.6 - ---- vanilla-2.6.32-rc7/fs/btrfs/inode.c~ 2009-11-13 11:15:48.000000000 -0800 -+++ vanilla-2.6.32-rc7/fs/btrfs/inode.c 2009-11-13 11:15:48.000000000 -0800 -@@ -5181,6 +5181,7 @@ - ei->outstanding_extents = 0; - ei->reserved_extents = 0; - ei->root = NULL; -+ ei->vfs_inode.created_when = jiffies; - spin_lock_init(&ei->accounting_lock); - btrfs_ordered_inode_tree_init(&ei->ordered_tree); - INIT_LIST_HEAD(&ei->i_orphan); ---- vanilla-2.6.32-rc7/fs/btrfs/ioctl.c~ 2009-11-13 11:16:58.000000000 -0800 -+++ vanilla-2.6.32-rc7/fs/btrfs/ioctl.c 2009-11-13 11:16:58.000000000 -0800 -@@ -1298,6 +1298,8 @@ - return 0; - } - -+#define EXT3_IOC_INODE_JIFFIES _IOR('f', 19, long) -+ - long btrfs_ioctl(struct file *file, unsigned int - cmd, unsigned long arg) - { -@@ -1337,6 +1338,8 @@ - case BTRFS_IOC_SYNC: - btrfs_sync_fs(file->f_dentry->d_sb, 1); - return 0; -+ case EXT3_IOC_INODE_JIFFIES: -+ return fdentry(file)->d_inode->created_when; - } - - return -ENOTTY; diff --git a/packages/linux/patches/linux-2.6.33-ahci-alpm-accounting.diff b/packages/linux/patches/linux-2.6.33-ahci-alpm-accounting.diff deleted file mode 100644 index 90ee7ad95b..0000000000 --- a/packages/linux/patches/linux-2.6.33-ahci-alpm-accounting.diff +++ /dev/null @@ -1,280 +0,0 @@ -From f62ff8c98080b4a9e66f82f793145b863b4e183a Mon Sep 17 00:00:00 2001 -From: Arjan van de Ven -Date: Fri, 13 Nov 2009 16:54:37 -0800 -Subject: [PATCH] libata: Add ALPM power state accounting to the AHCI driver - -PowerTOP wants to be able to show the user how effective the ALPM link -power management is for the user. ALPM is worth around 0.5W on a quiet -link; PowerTOP wants to be able to find cases where the "quiet link" isn't -actually quiet. - -This patch adds state accounting functionality to the AHCI driver for -PowerTOP to use. -The parts of the patch are -1) the sysfs logic of exposing the stats for each state in sysfs -2) the basic accounting logic that gets update on link change interrupts - (or when the user accesses the info from sysfs) -3) a "accounting enable" flag; in order to get the accounting to work, - the driver needs to get phyrdy interrupts on link status changes. - Normally and currently this is disabled by the driver when ALPM is - on (to reduce overhead); when PowerTOP is running this will need - to be on to get usable statistics... hence the sysfs tunable. - -The PowerTOP output currently looks like this: - -Recent SATA AHCI link activity statistics -Active Partial Slumber Device name - 0.5% 99.5% 0.0% host0 - -(work to resolve "host0" to a more human readable name is in progress) - -Signed-off-by: Arjan van de Ven ---- - drivers/ata/ahci.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 files changed, 173 insertions(+), 2 deletions(-) - -diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c -index a3241a1..448d684 100644 ---- a/drivers/ata/ahci.c -+++ b/drivers/ata/ahci.c -@@ -72,6 +72,21 @@ MODULE_PARM_DESC(ignore_sss, "Ignore staggered spinup flag (0=don't ignore, 1=ig - static int ahci_enable_alpm(struct ata_port *ap, - enum link_pm policy); - static void ahci_disable_alpm(struct ata_port *ap); -+ -+static ssize_t ahci_alpm_show_active(struct device *dev, -+ struct device_attribute *attr, char *buf); -+static ssize_t ahci_alpm_show_slumber(struct device *dev, -+ struct device_attribute *attr, char *buf); -+static ssize_t ahci_alpm_show_partial(struct device *dev, -+ struct device_attribute *attr, char *buf); -+ -+static ssize_t ahci_alpm_show_accounting(struct device *dev, -+ struct device_attribute *attr, char *buf); -+ -+static ssize_t ahci_alpm_set_accounting(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t count); -+ - static ssize_t ahci_led_show(struct ata_port *ap, char *buf); - static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, - size_t size); -@@ -289,6 +304,13 @@ struct ahci_host_priv { - u32 em_loc; /* enclosure management location */ - }; - -+enum ahci_port_states { -+ AHCI_PORT_NOLINK = 0, -+ AHCI_PORT_ACTIVE = 1, -+ AHCI_PORT_PARTIAL = 2, -+ AHCI_PORT_SLUMBER = 3 -+}; -+ - struct ahci_port_priv { - struct ata_link *active_link; - struct ahci_cmd_hdr *cmd_slot; -@@ -304,6 +326,14 @@ struct ahci_port_priv { - u32 intr_mask; /* interrupts to enable */ - /* enclosure management info per PM slot */ - struct ahci_em_priv em_priv[EM_MAX_SLOTS]; -+ -+ /* ALPM accounting state and stats */ -+ unsigned int accounting_active:1; -+ u64 active_jiffies; -+ u64 partial_jiffies; -+ u64 slumber_jiffies; -+ int previous_state; -+ int previous_jiffies; - }; - - static int ahci_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); -@@ -359,6 +389,12 @@ DEVICE_ATTR(ahci_host_cap2, S_IRUGO, ahci_show_host_cap2, NULL); - DEVICE_ATTR(ahci_host_version, S_IRUGO, ahci_show_host_version, NULL); - DEVICE_ATTR(ahci_port_cmd, S_IRUGO, ahci_show_port_cmd, NULL); - -+DEVICE_ATTR(ahci_alpm_active, S_IRUGO, ahci_alpm_show_active, NULL); -+DEVICE_ATTR(ahci_alpm_partial, S_IRUGO, ahci_alpm_show_partial, NULL); -+DEVICE_ATTR(ahci_alpm_slumber, S_IRUGO, ahci_alpm_show_slumber, NULL); -+DEVICE_ATTR(ahci_alpm_accounting, S_IRUGO | S_IWUSR, -+ ahci_alpm_show_accounting, ahci_alpm_set_accounting); -+ - static struct device_attribute *ahci_shost_attrs[] = { - &dev_attr_link_power_management_policy, - &dev_attr_em_message_type, -@@ -367,6 +403,10 @@ static struct device_attribute *ahci_shost_attrs[] = { - &dev_attr_ahci_host_cap2, - &dev_attr_ahci_host_version, - &dev_attr_ahci_port_cmd, -+ &dev_attr_ahci_alpm_active, -+ &dev_attr_ahci_alpm_partial, -+ &dev_attr_ahci_alpm_slumber, -+ &dev_attr_ahci_alpm_accounting, - NULL - }; - -@@ -1165,9 +1205,14 @@ static int ahci_enable_alpm(struct ata_port *ap, - * getting woken up due to spurious phy ready interrupts - * TBD - Hot plug should be done via polling now, is - * that even supported? -+ * -+ * However, when accounting_active is set, we do want -+ * the interrupts for accounting purposes. - */ -- pp->intr_mask &= ~PORT_IRQ_PHYRDY; -- writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK); -+ if (!pp->accounting_active) { -+ pp->intr_mask &= ~PORT_IRQ_PHYRDY; -+ writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK); -+ } - - /* - * Set a flag to indicate that we should ignore all PhyRdy -@@ -2157,6 +2202,137 @@ static void ahci_error_intr(struct ata_port *ap, u32 irq_stat) - ata_port_abort(ap); - } - -+static int get_current_alpm_state(struct ata_port *ap) -+{ -+ u32 status = 0; -+ -+ ahci_scr_read(&ap->link, SCR_STATUS, &status); -+ -+ /* link status is in bits 11-8 */ -+ status = status >> 8; -+ status = status & 0x7; -+ -+ if (status == 6) -+ return AHCI_PORT_SLUMBER; -+ if (status == 2) -+ return AHCI_PORT_PARTIAL; -+ if (status == 1) -+ return AHCI_PORT_ACTIVE; -+ return AHCI_PORT_NOLINK; -+} -+ -+static void account_alpm_stats(struct ata_port *ap) -+{ -+ struct ahci_port_priv *pp; -+ -+ int new_state; -+ u64 new_jiffies, jiffies_delta; -+ -+ if (ap == NULL) -+ return; -+ pp = ap->private_data; -+ -+ new_state = get_current_alpm_state(ap); -+ new_jiffies = jiffies; -+ -+ jiffies_delta = new_jiffies - pp->previous_jiffies; -+ -+ switch (pp->previous_state) { -+ case AHCI_PORT_NOLINK: -+ pp->active_jiffies = 0; -+ pp->partial_jiffies = 0; -+ pp->slumber_jiffies = 0; -+ break; -+ case AHCI_PORT_ACTIVE: -+ pp->active_jiffies += jiffies_delta; -+ break; -+ case AHCI_PORT_PARTIAL: -+ pp->partial_jiffies += jiffies_delta; -+ break; -+ case AHCI_PORT_SLUMBER: -+ pp->slumber_jiffies += jiffies_delta; -+ break; -+ default: -+ break; -+ } -+ pp->previous_state = new_state; -+ pp->previous_jiffies = new_jiffies; -+} -+ -+static ssize_t ahci_alpm_show_active(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct Scsi_Host *shost = class_to_shost(dev); -+ struct ata_port *ap = ata_shost_to_port(shost); -+ struct ahci_port_priv *pp = ap->private_data; -+ -+ account_alpm_stats(ap); -+ -+ return sprintf(buf, "%u\n", jiffies_to_msecs(pp->active_jiffies)); -+} -+ -+static ssize_t ahci_alpm_show_partial(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct Scsi_Host *shost = class_to_shost(dev); -+ struct ata_port *ap = ata_shost_to_port(shost); -+ struct ahci_port_priv *pp = ap->private_data; -+ -+ account_alpm_stats(ap); -+ -+ return sprintf(buf, "%u\n", jiffies_to_msecs(pp->partial_jiffies)); -+} -+ -+static ssize_t ahci_alpm_show_slumber(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct Scsi_Host *shost = class_to_shost(dev); -+ struct ata_port *ap = ata_shost_to_port(shost); -+ struct ahci_port_priv *pp = ap->private_data; -+ -+ account_alpm_stats(ap); -+ -+ return sprintf(buf, "%u\n", jiffies_to_msecs(pp->slumber_jiffies)); -+} -+ -+ -+static ssize_t ahci_alpm_show_accounting(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct Scsi_Host *shost = class_to_shost(dev); -+ struct ata_port *ap = ata_shost_to_port(shost); -+ struct ahci_port_priv *pp = ap->private_data; -+ -+ return sprintf(buf, "%u\n", pp->accounting_active); -+} -+ -+static ssize_t ahci_alpm_set_accounting(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ unsigned long flags; -+ struct Scsi_Host *shost = class_to_shost(dev); -+ struct ata_port *ap = ata_shost_to_port(shost); -+ struct ahci_port_priv *pp = ap->private_data; -+ void __iomem *port_mmio = ahci_port_base(ap); -+ -+ if (!pp) -+ return 1; -+ if (buf[0] == '0') -+ pp->accounting_active = 0; -+ if (buf[0] == '1') -+ pp->accounting_active = 1; -+ -+ /* we need to enable the PHYRDY interrupt when we want accounting */ -+ if (pp->accounting_active) { -+ spin_lock_irqsave(ap->lock, flags); -+ pp->intr_mask |= PORT_IRQ_PHYRDY; -+ writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK); -+ spin_unlock_irqrestore(ap->lock, flags); -+ } -+ return count; -+} -+ - static void ahci_port_intr(struct ata_port *ap) - { - void __iomem *port_mmio = ahci_port_base(ap); -@@ -2182,6 +2352,7 @@ static void ahci_port_intr(struct ata_port *ap) - if ((hpriv->flags & AHCI_HFLAG_NO_HOTPLUG) && - (status & PORT_IRQ_PHYRDY)) { - status &= ~PORT_IRQ_PHYRDY; -+ account_alpm_stats(ap); - ahci_scr_write(&ap->link, SCR_ERROR, ((1 << 16) | (1 << 18))); - } - --- -1.6.0.6 - diff --git a/packages/linux/patches/linux-2.6.33-rt2860-1-2.diff b/packages/linux/patches/linux-2.6.33-rt2860-1-2.diff deleted file mode 100644 index e67a826520..0000000000 --- a/packages/linux/patches/linux-2.6.33-rt2860-1-2.diff +++ /dev/null @@ -1,48 +0,0 @@ - -We should only send SIOCGIWAP event to notify wpa_supplicant about a lost -link, not to tell it about our disassociation being done. If we send such -event in both cases, this driver will drag wpa_supplicant into an infinite -loop. - -Signed-off-by: Samuel Ortiz ---- - drivers/staging/rt2860/sta/assoc.c | 6 ++++-- - drivers/staging/rt2860/sta_ioctl.c | 6 ++++++ - 2 files changed, 10 insertions(+), 2 deletions(-) - --- -Index: b/drivers/staging/rt2860/sta/assoc.c -=================================================================== ---- a/drivers/staging/rt2860/sta/assoc.c 2010-01-05 11:25:22.000000000 +0100 -+++ b/drivers/staging/rt2860/sta/assoc.c 2010-01-05 18:09:34.000000000 +0100 -@@ -818,10 +818,11 @@ void MlmeDisassocReqAction(struct rt_rtm - COPY_MAC_ADDR(pAd->StaCfg.DisassocSta, pDisassocReq->Addr); - - RTMPSetTimer(&pAd->MlmeAux.DisassocTimer, Timeout); /* in mSec */ -- pAd->Mlme.AssocMachine.CurrState = DISASSOC_WAIT_RSP; - -- RtmpOSWrielessEventSend(pAd, SIOCGIWAP, -1, NULL, NULL, 0); -+ pAd->Mlme.AssocMachine.CurrState = DISASSOC_WAIT_RSP; - -+ if (INFRA_ON(pAd) || ADHOC_ON(pAd)) -+ RtmpOSWrielessEventSend(pAd, SIOCGIWAP, -1, NULL, NULL, 0); - } - - /* -Index: b/drivers/staging/rt2860/sta_ioctl.c -=================================================================== ---- a/drivers/staging/rt2860/sta_ioctl.c 2010-01-05 11:25:22.000000000 +0100 -+++ b/drivers/staging/rt2860/sta_ioctl.c 2010-01-05 12:55:16.000000000 +0100 -@@ -602,6 +602,12 @@ int rt_ioctl_siwap(struct net_device *de - DBGPRINT(RT_DEBUG_TRACE, - ("MLME busy, reset MLME state machine!\n")); - } -+ -+ /* No need to set our BSSID if it's not changing */ -+ if (!memcmp(pAdapter->CommonCfg.Bssid, ap_addr->sa_data, ETH_ALEN) || -+ !memcmp(pAdapter->MlmeAux.Bssid, ap_addr->sa_data, ETH_ALEN)) -+ return 0; -+ - /* tell CNTL state machine to call NdisMSetInformationComplete() after completing */ - /* this request, because this request is initiated by NDIS. */ - pAdapter->MlmeAux.CurrReqIsFromNdis = FALSE; diff --git a/packages/linux/patches/linux-2.6.33-rt2860-2-2.diff b/packages/linux/patches/linux-2.6.33-rt2860-2-2.diff deleted file mode 100644 index 20402b87cb..0000000000 --- a/packages/linux/patches/linux-2.6.33-rt2860-2-2.diff +++ /dev/null @@ -1,24 +0,0 @@ - -When no SSID is set, the reconnect decision should entirely be left to -userspace. The driver should not decide which AP to associate with based on -arbitrary policies. - -Signed-off-by: Samuel Ortiz ---- - drivers/staging/rt2860/common/mlme.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: b/drivers/staging/rt2860/common/mlme.c -=================================================================== ---- a/drivers/staging/rt2860/common/mlme.c 2010-01-05 11:25:22.000000000 +0100 -+++ b/drivers/staging/rt2860/common/mlme.c 2010-01-05 13:10:32.000000000 +0100 -@@ -1554,7 +1554,8 @@ void MlmeAutoReconnectLastSSID(struct rt - else if ((pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE) && - (MlmeValidateSSID - (pAd->MlmeAux.AutoReconnectSsid, -- pAd->MlmeAux.AutoReconnectSsidLen) == TRUE)) { -+ pAd->MlmeAux.AutoReconnectSsidLen) == TRUE) && -+ (pAd->MlmeAux.AutoReconnectSsidLen != 0)) { - struct rt_ndis_802_11_ssid OidSsid; - OidSsid.SsidLength = pAd->MlmeAux.AutoReconnectSsidLen; - NdisMoveMemory(OidSsid.Ssid, pAd->MlmeAux.AutoReconnectSsid, diff --git a/packages/linux/patches/linux-2.6.33-vfs-tracepoints.diff b/packages/linux/patches/linux-2.6.33-vfs-tracepoints.diff deleted file mode 100644 index 7bf425a798..0000000000 --- a/packages/linux/patches/linux-2.6.33-vfs-tracepoints.diff +++ /dev/null @@ -1,120 +0,0 @@ -From f56c995174cf42d84fdad06beebacd56e700b05d Mon Sep 17 00:00:00 2001 -From: Arjan van de Ven -Date: Sun, 25 Oct 2009 15:37:04 -0700 -Subject: [PATCH] vfs: Add a trace point in the mark_inode_dirty function - -PowerTOP would like to be able to show who is keeping the disk -busy by dirtying data. The most logical spot for this is in the vfs -in the mark_inode_dirty() function, doing this on the block level -is not possible because by the time the IO hits the block layer the -guilty party can no longer be found ("kjournald" and "pdflush" are not -useful answers to "who caused this file to be dirty). - -The trace point follows the same logic/style as the block_dump code -and pretty much dumps the same data, just not to dmesg (and thus to -/var/log/messages) but via the trace events streams. - -Signed-of-by: Arjan van de Ven ---- - fs/fs-writeback.c | 4 +++ - fs/inode.c | 4 +++ - include/trace/events/vfs.h | 53 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 61 insertions(+), 0 deletions(-) - create mode 100644 include/trace/events/vfs.h - -diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c -index 9d5360c..af31caf 100644 ---- a/fs/fs-writeback.c -+++ b/fs/fs-writeback.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include "internal.h" - - #define inode_to_bdi(inode) ((inode)->i_mapping->backing_dev_info) -@@ -1061,6 +1062,9 @@ void __mark_inode_dirty(struct inode *inode, int flags) - sb->s_op->dirty_inode(inode); - } - -+ if (flags & (I_DIRTY_SYNC | I_DIRTY_DATASYNC | I_DIRTY_PAGES)) -+ trace_dirty_inode(inode, current); -+ - /* - * make sure that changes are seen by all cpus before we test i_state - * -- mikulas -diff --git a/fs/inode.c b/fs/inode.c -index 4d8e3be..a61e8ba 100644 ---- a/fs/inode.c -+++ b/fs/inode.c -@@ -1624,3 +1624,7 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev) - inode->i_ino); - } - EXPORT_SYMBOL(init_special_inode); -+ -+#define CREATE_TRACE_POINTS -+#include -+ -diff --git a/include/trace/events/vfs.h b/include/trace/events/vfs.h -new file mode 100644 -index 0000000..21cf9fb ---- /dev/null -+++ b/include/trace/events/vfs.h -@@ -0,0 +1,53 @@ -+#undef TRACE_SYSTEM -+#define TRACE_SYSTEM vfs -+ -+#if !defined(_TRACE_VFS_H) || defined(TRACE_HEADER_MULTI_READ) -+#define _TRACE_VFS_H -+ -+/* -+ * Tracepoint for dirtying an inode: -+ */ -+TRACE_EVENT(dirty_inode, -+ -+ TP_PROTO(struct inode *inode, struct task_struct *task), -+ -+ TP_ARGS(inode, task), -+ -+ TP_STRUCT__entry( -+ __array( char, comm, TASK_COMM_LEN ) -+ __field( pid_t, pid ) -+ __array( char, dev, 16 ) -+ __array( char, file, 32 ) -+ ), -+ -+ TP_fast_assign( -+ if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev")) { -+ struct dentry *dentry; -+ const char *name = "?"; -+ -+ dentry = d_find_alias(inode); -+ if (dentry) { -+ spin_lock(&dentry->d_lock); -+ name = (const char *) dentry->d_name.name; -+ } -+ -+ memcpy(__entry->comm, task->comm, TASK_COMM_LEN); -+ __entry->pid = task->pid; -+ strlcpy(__entry->file, name, 32); -+ strlcpy(__entry->dev, inode->i_sb->s_id, 16); -+ -+ if (dentry) { -+ spin_unlock(&dentry->d_lock); -+ dput(dentry); -+ } -+ } -+ ), -+ -+ TP_printk("task=%i (%s) file=%s dev=%s", -+ __entry->pid, __entry->comm, __entry->file, __entry->dev) -+); -+ -+#endif /* _TRACE_VFS_H */ -+ -+/* This part must be outside protection */ -+#include --- -1.6.0.6 - diff --git a/packages/linux/patches/rtl8192_carrier_off.diff b/packages/linux/patches/rtl8192_carrier_off.diff deleted file mode 100644 index 9148056467..0000000000 --- a/packages/linux/patches/rtl8192_carrier_off.diff +++ /dev/null @@ -1,52 +0,0 @@ -Toggling the link carrier is a non sense and is the grossest locking I can -think of. Moreover, it's giving a completely inaccurate status to userspace -who could for example decide to turn the interface down on carrier off -detection. - -Signed-off-by: Samuel Ortiz ---- - drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c | 2 -- - drivers/staging/rtl8192e/r8192E_core.c | 1 - - 2 files changed, 3 deletions(-) - -Index: b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c -=================================================================== ---- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c 2010-01-15 19:31:39.000000000 +0100 -+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac_wx.c 2010-01-15 19:32:07.000000000 +0100 -@@ -326,7 +326,6 @@ void ieee80211_wx_sync_scan_wq(struct ie - int b40M = 0; - static int count = 0; - chan = ieee->current_network.channel; -- netif_carrier_off(ieee->dev); - - if (ieee->data_hard_stop) - ieee->data_hard_stop(ieee->dev); -@@ -372,7 +371,6 @@ void ieee80211_wx_sync_scan_wq(struct ie - if(ieee->iw_mode == IW_MODE_ADHOC || ieee->iw_mode == IW_MODE_MASTER) - ieee80211_start_send_beacons(ieee); - -- netif_carrier_on(ieee->dev); - count = 0; - up(&ieee->wx_sem); - -Index: b/drivers/staging/rtl8192e/r8192E_core.c -=================================================================== ---- a/drivers/staging/rtl8192e/r8192E_core.c 2010-01-15 20:03:06.000000000 +0100 -+++ b/drivers/staging/rtl8192e/r8192E_core.c 2010-01-15 20:03:11.000000000 +0100 -@@ -4046,7 +4046,6 @@ RESET_START: - del_timer_sync(&ieee->associate_timer); - cancel_delayed_work(&ieee->associate_retry_wq); - ieee80211_stop_scan(ieee); -- netif_carrier_off(dev); - up(&ieee->wx_sem); - } - else{ - --- -Intel Open Source Technology Centre -http://oss.intel.com/ -_______________________________________________ -Moblin-kernel mailing list -Moblin-kernel@linux.intel.com -http://linux.intel.com/mailman/listinfo/moblin-kernel - diff --git a/packages/linux/patches/rtl8192_no_WAP_unassoc.diff b/packages/linux/patches/rtl8192_no_WAP_unassoc.diff deleted file mode 100644 index 436945b30f..0000000000 --- a/packages/linux/patches/rtl8192_no_WAP_unassoc.diff +++ /dev/null @@ -1,40 +0,0 @@ -If we're not associated, we should not send wireless events to let userspace -know that we just left an ESSID, simply because we havent yet joined it. -If we keep on doing that, wpa_supplicant could receive such events while -actually trying to join an ESSID, and thus decide to stop trying. This leads -to a lot of connection failures as this driver seems to be sending GIWAP -events quite a lot. - -Signed-off-by: Samuel Ortiz ---- - drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c -=================================================================== ---- a/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c 2010-01-15 16:57:48.000000000 +0100 -+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_softmac.c 2010-01-15 19:31:56.000000000 +0100 -@@ -2726,11 +2726,12 @@ void ieee80211_disassociate(struct ieee8 - if(IS_DOT11D_ENABLE(ieee)) - Dot11d_Reset(ieee); - #endif -- ieee->state = IEEE80211_NOLINK; - ieee->is_set_key = false; - ieee->link_change(ieee->dev); - //HTSetConnectBwMode(ieee, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT); -- notify_wx_assoc_event(ieee); -+ if (ieee->state == IEEE80211_LINKED) -+ notify_wx_assoc_event(ieee); -+ ieee->state = IEEE80211_NOLINK; - - } - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) - --- -Intel Open Source Technology Centre -http://oss.intel.com/ -_______________________________________________ -Moblin-kernel mailing list -Moblin-kernel@linux.intel.com -http://linux.intel.com/mailman/listinfo/moblin-kernel - diff --git a/packages/linux/patches/rtl8192_no_autoconnect.diff b/packages/linux/patches/rtl8192_no_autoconnect.diff deleted file mode 100644 index 9119535202..0000000000 --- a/packages/linux/patches/rtl8192_no_autoconnect.diff +++ /dev/null @@ -1,41 +0,0 @@ -Getting a probe response after sending a probe request to a specific SSID -doesnt mean we're trying to associate with this SSID. -wpa_supplicant should be the only one deciding when to join an SSID, not the -kernel. - -Signed-off-by: Samuel Ortiz ---- - drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c | 4 ---- - 1 file changed, 4 deletions(-) - -Index: b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c -=================================================================== ---- a/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c 2010-01-15 16:56:47.000000000 +0100 -+++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_rx.c 2010-01-15 16:57:03.000000000 +0100 -@@ -2716,8 +2716,6 @@ static inline void ieee80211_process_pro - #endif - memcpy(target, &network, sizeof(*target)); - list_add_tail(&target->list, &ieee->network_list); -- if(ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) -- ieee80211_softmac_new_net(ieee,&network); - } else { - IEEE80211_DEBUG_SCAN("Updating '%s' (" MAC_FMT ") via %s.\n", - escape_essid(target->ssid, -@@ -2744,8 +2742,6 @@ static inline void ieee80211_process_pro - //YJ,add,080819,for hidden ap,end - - update_network(target, &network); -- if(renew && (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE)) -- ieee80211_softmac_new_net(ieee,&network); - } - - spin_unlock_irqrestore(&ieee->lock, flags); - --- -Intel Open Source Technology Centre -http://oss.intel.com/ -_______________________________________________ -Moblin-kernel mailing list -Moblin-kernel@linux.intel.com -http://linux.intel.com/mailman/listinfo/moblin-kernel -