From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
Alexey Dobriyan <adobriyan@gmail.com>,
Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
Len Brown <len.brown@intel.com>
Subject: [074/197] thinkpad-acpi: convert to seq_file
Date: Thu, 22 Apr 2010 12:08:45 -0700 [thread overview]
Message-ID: <20100422190914.024327790@kvm.kroah.org> (raw)
In-Reply-To: <20100422191857.GA13268@kroah.com>
2.6.32-stable review patch. If anyone has any objections, please let us know.
------------------
From: Alexey Dobriyan <adobriyan@gmail.com>
commit 887965e6576a78f71b9b98dec43fd1c73becd2e8 upstream.
(hmh@hmh.eng.br: Updated to apply to 2.6.32.y)
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/platform/x86/thinkpad_acpi.c | 282 ++++++++++++++++-------------------
1 file changed, 131 insertions(+), 151 deletions(-)
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -61,6 +61,7 @@
#include <linux/nvram.h>
#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
#include <linux/sysfs.h>
#include <linux/backlight.h>
#include <linux/fb.h>
@@ -256,7 +257,7 @@ struct tp_acpi_drv_struct {
struct ibm_struct {
char *name;
- int (*read) (char *);
+ int (*read) (struct seq_file *);
int (*write) (char *);
void (*exit) (void);
void (*resume) (void);
@@ -776,36 +777,25 @@ static int __init register_tpacpi_subdri
****************************************************************************
****************************************************************************/
-static int dispatch_procfs_read(char *page, char **start, off_t off,
- int count, int *eof, void *data)
+static int dispatch_proc_show(struct seq_file *m, void *v)
{
- struct ibm_struct *ibm = data;
- int len;
+ struct ibm_struct *ibm = m->private;
if (!ibm || !ibm->read)
return -EINVAL;
+ return ibm->read(m);
+}
- len = ibm->read(page);
- if (len < 0)
- return len;
-
- if (len <= off + count)
- *eof = 1;
- *start = page + off;
- len -= off;
- if (len > count)
- len = count;
- if (len < 0)
- len = 0;
-
- return len;
+static int dispatch_proc_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, dispatch_proc_show, PDE(inode)->data);
}
-static int dispatch_procfs_write(struct file *file,
+static ssize_t dispatch_proc_write(struct file *file,
const char __user *userbuf,
- unsigned long count, void *data)
+ size_t count, loff_t *pos)
{
- struct ibm_struct *ibm = data;
+ struct ibm_struct *ibm = PDE(file->f_path.dentry->d_inode)->data;
char *kernbuf;
int ret;
@@ -834,6 +824,15 @@ static int dispatch_procfs_write(struct
return ret;
}
+static const struct file_operations dispatch_proc_fops = {
+ .owner = THIS_MODULE,
+ .open = dispatch_proc_open,
+ .read = seq_read,
+ .llseek = seq_lseek,
+ .release = single_release,
+ .write = dispatch_proc_write,
+};
+
static char *next_cmd(char **cmds)
{
char *start = *cmds;
@@ -1388,12 +1387,11 @@ static ssize_t tpacpi_rfk_sysfs_enable_s
}
/* procfs -------------------------------------------------------------- */
-static int tpacpi_rfk_procfs_read(const enum tpacpi_rfk_id id, char *p)
+static int tpacpi_rfk_procfs_read(const enum tpacpi_rfk_id id,
+ struct seq_file *m)
{
- int len = 0;
-
if (id >= TPACPI_RFK_SW_MAX)
- len += sprintf(p + len, "status:\t\tnot supported\n");
+ seq_printf(m, "status:\t\tnot supported\n");
else {
int status;
@@ -1407,13 +1405,13 @@ static int tpacpi_rfk_procfs_read(const
return status;
}
- len += sprintf(p + len, "status:\t\t%s\n",
+ seq_printf(m, "status:\t\t%s\n",
(status == TPACPI_RFK_RADIO_ON) ?
"enabled" : "disabled");
- len += sprintf(p + len, "commands:\tenable, disable\n");
+ seq_printf(m, "commands:\tenable, disable\n");
}
- return len;
+ return 0;
}
static int tpacpi_rfk_procfs_write(const enum tpacpi_rfk_id id, char *buf)
@@ -1891,14 +1889,11 @@ static int __init thinkpad_acpi_driver_i
return 0;
}
-static int thinkpad_acpi_driver_read(char *p)
+static int thinkpad_acpi_driver_read(struct seq_file *m)
{
- int len = 0;
-
- len += sprintf(p + len, "driver:\t\t%s\n", TPACPI_DESC);
- len += sprintf(p + len, "version:\t%s\n", TPACPI_VERSION);
-
- return len;
+ seq_printf(m, "driver:\t\t%s\n", TPACPI_DESC);
+ seq_printf(m, "version:\t%s\n", TPACPI_VERSION);
+ return 0;
}
static struct ibm_struct thinkpad_acpi_driver_data = {
@@ -3754,14 +3749,13 @@ static void hotkey_resume(void)
}
/* procfs -------------------------------------------------------------- */
-static int hotkey_read(char *p)
+static int hotkey_read(struct seq_file *m)
{
int res, status;
- int len = 0;
if (!tp_features.hotkey) {
- len += sprintf(p + len, "status:\t\tnot supported\n");
- return len;
+ seq_printf(m, "status:\t\tnot supported\n");
+ return 0;
}
if (mutex_lock_killable(&hotkey_mutex))
@@ -3773,17 +3767,16 @@ static int hotkey_read(char *p)
if (res)
return res;
- len += sprintf(p + len, "status:\t\t%s\n", enabled(status, 0));
+ seq_printf(m, "status:\t\t%s\n", enabled(status, 0));
if (hotkey_all_mask) {
- len += sprintf(p + len, "mask:\t\t0x%08x\n", hotkey_user_mask);
- len += sprintf(p + len,
- "commands:\tenable, disable, reset, <mask>\n");
+ seq_printf(m, "mask:\t\t0x%08x\n", hotkey_user_mask);
+ seq_printf(m, "commands:\tenable, disable, reset, <mask>\n");
} else {
- len += sprintf(p + len, "mask:\t\tnot supported\n");
- len += sprintf(p + len, "commands:\tenable, disable, reset\n");
+ seq_printf(m, "mask:\t\tnot supported\n");
+ seq_printf(m, "commands:\tenable, disable, reset\n");
}
- return len;
+ return 0;
}
static void hotkey_enabledisable_warn(bool enable)
@@ -4050,9 +4043,9 @@ static int __init bluetooth_init(struct
}
/* procfs -------------------------------------------------------------- */
-static int bluetooth_read(char *p)
+static int bluetooth_read(struct seq_file *m)
{
- return tpacpi_rfk_procfs_read(TPACPI_RFK_BLUETOOTH_SW_ID, p);
+ return tpacpi_rfk_procfs_read(TPACPI_RFK_BLUETOOTH_SW_ID, m);
}
static int bluetooth_write(char *buf)
@@ -4241,9 +4234,9 @@ static int __init wan_init(struct ibm_in
}
/* procfs -------------------------------------------------------------- */
-static int wan_read(char *p)
+static int wan_read(struct seq_file *m)
{
- return tpacpi_rfk_procfs_read(TPACPI_RFK_WWAN_SW_ID, p);
+ return tpacpi_rfk_procfs_read(TPACPI_RFK_WWAN_SW_ID, m);
}
static int wan_write(char *buf)
@@ -4618,14 +4611,13 @@ static int video_expand_toggle(void)
/* not reached */
}
-static int video_read(char *p)
+static int video_read(struct seq_file *m)
{
int status, autosw;
- int len = 0;
if (video_supported == TPACPI_VIDEO_NONE) {
- len += sprintf(p + len, "status:\t\tnot supported\n");
- return len;
+ seq_printf(m, "status:\t\tnot supported\n");
+ return 0;
}
status = video_outputsw_get();
@@ -4636,20 +4628,20 @@ static int video_read(char *p)
if (autosw < 0)
return autosw;
- len += sprintf(p + len, "status:\t\tsupported\n");
- len += sprintf(p + len, "lcd:\t\t%s\n", enabled(status, 0));
- len += sprintf(p + len, "crt:\t\t%s\n", enabled(status, 1));
+ seq_printf(m, "status:\t\tsupported\n");
+ seq_printf(m, "lcd:\t\t%s\n", enabled(status, 0));
+ seq_printf(m, "crt:\t\t%s\n", enabled(status, 1));
if (video_supported == TPACPI_VIDEO_NEW)
- len += sprintf(p + len, "dvi:\t\t%s\n", enabled(status, 3));
- len += sprintf(p + len, "auto:\t\t%s\n", enabled(autosw, 0));
- len += sprintf(p + len, "commands:\tlcd_enable, lcd_disable\n");
- len += sprintf(p + len, "commands:\tcrt_enable, crt_disable\n");
+ seq_printf(m, "dvi:\t\t%s\n", enabled(status, 3));
+ seq_printf(m, "auto:\t\t%s\n", enabled(autosw, 0));
+ seq_printf(m, "commands:\tlcd_enable, lcd_disable\n");
+ seq_printf(m, "commands:\tcrt_enable, crt_disable\n");
if (video_supported == TPACPI_VIDEO_NEW)
- len += sprintf(p + len, "commands:\tdvi_enable, dvi_disable\n");
- len += sprintf(p + len, "commands:\tauto_enable, auto_disable\n");
- len += sprintf(p + len, "commands:\tvideo_switch, expand_toggle\n");
+ seq_printf(m, "commands:\tdvi_enable, dvi_disable\n");
+ seq_printf(m, "commands:\tauto_enable, auto_disable\n");
+ seq_printf(m, "commands:\tvideo_switch, expand_toggle\n");
- return len;
+ return 0;
}
static int video_write(char *buf)
@@ -4841,25 +4833,24 @@ static void light_exit(void)
flush_workqueue(tpacpi_wq);
}
-static int light_read(char *p)
+static int light_read(struct seq_file *m)
{
- int len = 0;
int status;
if (!tp_features.light) {
- len += sprintf(p + len, "status:\t\tnot supported\n");
+ seq_printf(m, "status:\t\tnot supported\n");
} else if (!tp_features.light_status) {
- len += sprintf(p + len, "status:\t\tunknown\n");
- len += sprintf(p + len, "commands:\ton, off\n");
+ seq_printf(m, "status:\t\tunknown\n");
+ seq_printf(m, "commands:\ton, off\n");
} else {
status = light_get_status();
if (status < 0)
return status;
- len += sprintf(p + len, "status:\t\t%s\n", onoff(status, 0));
- len += sprintf(p + len, "commands:\ton, off\n");
+ seq_printf(m, "status:\t\t%s\n", onoff(status, 0));
+ seq_printf(m, "commands:\ton, off\n");
}
- return len;
+ return 0;
}
static int light_write(char *buf)
@@ -4937,20 +4928,18 @@ static void cmos_exit(void)
device_remove_file(&tpacpi_pdev->dev, &dev_attr_cmos_command);
}
-static int cmos_read(char *p)
+static int cmos_read(struct seq_file *m)
{
- int len = 0;
-
/* cmos not supported on 570, 600e/x, 770e, 770x, A21e, A2xm/p,
R30, R31, T20-22, X20-21 */
if (!cmos_handle)
- len += sprintf(p + len, "status:\t\tnot supported\n");
+ seq_printf(m, "status:\t\tnot supported\n");
else {
- len += sprintf(p + len, "status:\t\tsupported\n");
- len += sprintf(p + len, "commands:\t<cmd> (<cmd> is 0-21)\n");
+ seq_printf(m, "status:\t\tsupported\n");
+ seq_printf(m, "commands:\t<cmd> (<cmd> is 0-21)\n");
}
- return len;
+ return 0;
}
static int cmos_write(char *buf)
@@ -5325,15 +5314,13 @@ static int __init led_init(struct ibm_in
((s) == TPACPI_LED_OFF ? "off" : \
((s) == TPACPI_LED_ON ? "on" : "blinking"))
-static int led_read(char *p)
+static int led_read(struct seq_file *m)
{
- int len = 0;
-
if (!led_supported) {
- len += sprintf(p + len, "status:\t\tnot supported\n");
- return len;
+ seq_printf(m, "status:\t\tnot supported\n");
+ return 0;
}
- len += sprintf(p + len, "status:\t\tsupported\n");
+ seq_printf(m, "status:\t\tsupported\n");
if (led_supported == TPACPI_LED_570) {
/* 570 */
@@ -5342,15 +5329,15 @@ static int led_read(char *p)
status = led_get_status(i);
if (status < 0)
return -EIO;
- len += sprintf(p + len, "%d:\t\t%s\n",
+ seq_printf(m, "%d:\t\t%s\n",
i, str_led_status(status));
}
}
- len += sprintf(p + len, "commands:\t"
+ seq_printf(m, "commands:\t"
"<led> on, <led> off, <led> blink (<led> is 0-15)\n");
- return len;
+ return 0;
}
static int led_write(char *buf)
@@ -5423,18 +5410,16 @@ static int __init beep_init(struct ibm_i
return (beep_handle)? 0 : 1;
}
-static int beep_read(char *p)
+static int beep_read(struct seq_file *m)
{
- int len = 0;
-
if (!beep_handle)
- len += sprintf(p + len, "status:\t\tnot supported\n");
+ seq_printf(m, "status:\t\tnot supported\n");
else {
- len += sprintf(p + len, "status:\t\tsupported\n");
- len += sprintf(p + len, "commands:\t<cmd> (<cmd> is 0-17)\n");
+ seq_printf(m, "status:\t\tsupported\n");
+ seq_printf(m, "commands:\t<cmd> (<cmd> is 0-17)\n");
}
- return len;
+ return 0;
}
static int beep_write(char *buf)
@@ -5795,9 +5780,8 @@ static void thermal_exit(void)
}
}
-static int thermal_read(char *p)
+static int thermal_read(struct seq_file *m)
{
- int len = 0;
int n, i;
struct ibm_thermal_sensors_struct t;
@@ -5805,16 +5789,16 @@ static int thermal_read(char *p)
if (unlikely(n < 0))
return n;
- len += sprintf(p + len, "temperatures:\t");
+ seq_printf(m, "temperatures:\t");
if (n > 0) {
for (i = 0; i < (n - 1); i++)
- len += sprintf(p + len, "%d ", t.temp[i] / 1000);
- len += sprintf(p + len, "%d\n", t.temp[i] / 1000);
+ seq_printf(m, "%d ", t.temp[i] / 1000);
+ seq_printf(m, "%d\n", t.temp[i] / 1000);
} else
- len += sprintf(p + len, "not supported\n");
+ seq_printf(m, "not supported\n");
- return len;
+ return 0;
}
static struct ibm_struct thermal_driver_data = {
@@ -5829,39 +5813,38 @@ static struct ibm_struct thermal_driver_
static u8 ecdump_regs[256];
-static int ecdump_read(char *p)
+static int ecdump_read(struct seq_file *m)
{
- int len = 0;
int i, j;
u8 v;
- len += sprintf(p + len, "EC "
+ seq_printf(m, "EC "
" +00 +01 +02 +03 +04 +05 +06 +07"
" +08 +09 +0a +0b +0c +0d +0e +0f\n");
for (i = 0; i < 256; i += 16) {
- len += sprintf(p + len, "EC 0x%02x:", i);
+ seq_printf(m, "EC 0x%02x:", i);
for (j = 0; j < 16; j++) {
if (!acpi_ec_read(i + j, &v))
break;
if (v != ecdump_regs[i + j])
- len += sprintf(p + len, " *%02x", v);
+ seq_printf(m, " *%02x", v);
else
- len += sprintf(p + len, " %02x", v);
+ seq_printf(m, " %02x", v);
ecdump_regs[i + j] = v;
}
- len += sprintf(p + len, "\n");
+ seq_putc(m, '\n');
if (j != 16)
break;
}
/* These are way too dangerous to advertise openly... */
#if 0
- len += sprintf(p + len, "commands:\t0x<offset> 0x<value>"
+ seq_printf(m, "commands:\t0x<offset> 0x<value>"
" (<offset> is 00-ff, <value> is 00-ff)\n");
- len += sprintf(p + len, "commands:\t0x<offset> <value> "
+ seq_printf(m, "commands:\t0x<offset> <value> "
" (<offset> is 00-ff, <value> is 0-255)\n");
#endif
- return len;
+ return 0;
}
static int ecdump_write(char *buf)
@@ -6314,23 +6297,22 @@ static void brightness_exit(void)
tpacpi_brightness_checkpoint_nvram();
}
-static int brightness_read(char *p)
+static int brightness_read(struct seq_file *m)
{
- int len = 0;
int level;
level = brightness_get(NULL);
if (level < 0) {
- len += sprintf(p + len, "level:\t\tunreadable\n");
+ seq_printf(m, "level:\t\tunreadable\n");
} else {
- len += sprintf(p + len, "level:\t\t%d\n", level);
- len += sprintf(p + len, "commands:\tup, down\n");
- len += sprintf(p + len, "commands:\tlevel <level>"
+ seq_printf(m, "level:\t\t%d\n", level);
+ seq_printf(m, "commands:\tup, down\n");
+ seq_printf(m, "commands:\tlevel <level>"
" (<level> is 0-%d)\n",
(tp_features.bright_16levels) ? 15 : 7);
}
- return len;
+ return 0;
}
static int brightness_write(char *buf)
@@ -6387,22 +6369,21 @@ static struct ibm_struct brightness_driv
static int volume_offset = 0x30;
-static int volume_read(char *p)
+static int volume_read(struct seq_file *m)
{
- int len = 0;
u8 level;
if (!acpi_ec_read(volume_offset, &level)) {
- len += sprintf(p + len, "level:\t\tunreadable\n");
+ seq_printf(m, "level:\t\tunreadable\n");
} else {
- len += sprintf(p + len, "level:\t\t%d\n", level & 0xf);
- len += sprintf(p + len, "mute:\t\t%s\n", onoff(level, 6));
- len += sprintf(p + len, "commands:\tup, down, mute\n");
- len += sprintf(p + len, "commands:\tlevel <level>"
+ seq_printf(m, "level:\t\t%d\n", level & 0xf);
+ seq_printf(m, "mute:\t\t%s\n", onoff(level, 6));
+ seq_printf(m, "commands:\tup, down, mute\n");
+ seq_printf(m, "commands:\tlevel <level>"
" (<level> is 0-15)\n");
}
- return len;
+ return 0;
}
static int volume_write(char *buf)
@@ -7554,9 +7535,8 @@ static void fan_resume(void)
}
}
-static int fan_read(char *p)
+static int fan_read(struct seq_file *m)
{
- int len = 0;
int rc;
u8 status;
unsigned int speed = 0;
@@ -7568,7 +7548,7 @@ static int fan_read(char *p)
if (rc < 0)
return rc;
- len += sprintf(p + len, "status:\t\t%s\n"
+ seq_printf(m, "status:\t\t%s\n"
"level:\t\t%d\n",
(status != 0) ? "enabled" : "disabled", status);
break;
@@ -7579,54 +7559,54 @@ static int fan_read(char *p)
if (rc < 0)
return rc;
- len += sprintf(p + len, "status:\t\t%s\n",
+ seq_printf(m, "status:\t\t%s\n",
(status != 0) ? "enabled" : "disabled");
rc = fan_get_speed(&speed);
if (rc < 0)
return rc;
- len += sprintf(p + len, "speed:\t\t%d\n", speed);
+ seq_printf(m, "speed:\t\t%d\n", speed);
if (status & TP_EC_FAN_FULLSPEED)
/* Disengaged mode takes precedence */
- len += sprintf(p + len, "level:\t\tdisengaged\n");
+ seq_printf(m, "level:\t\tdisengaged\n");
else if (status & TP_EC_FAN_AUTO)
- len += sprintf(p + len, "level:\t\tauto\n");
+ seq_printf(m, "level:\t\tauto\n");
else
- len += sprintf(p + len, "level:\t\t%d\n", status);
+ seq_printf(m, "level:\t\t%d\n", status);
break;
case TPACPI_FAN_NONE:
default:
- len += sprintf(p + len, "status:\t\tnot supported\n");
+ seq_printf(m, "status:\t\tnot supported\n");
}
if (fan_control_commands & TPACPI_FAN_CMD_LEVEL) {
- len += sprintf(p + len, "commands:\tlevel <level>");
+ seq_printf(m, "commands:\tlevel <level>");
switch (fan_control_access_mode) {
case TPACPI_FAN_WR_ACPI_SFAN:
- len += sprintf(p + len, " (<level> is 0-7)\n");
+ seq_printf(m, " (<level> is 0-7)\n");
break;
default:
- len += sprintf(p + len, " (<level> is 0-7, "
+ seq_printf(m, " (<level> is 0-7, "
"auto, disengaged, full-speed)\n");
break;
}
}
if (fan_control_commands & TPACPI_FAN_CMD_ENABLE)
- len += sprintf(p + len, "commands:\tenable, disable\n"
+ seq_printf(m, "commands:\tenable, disable\n"
"commands:\twatchdog <timeout> (<timeout> "
"is 0 (off), 1-120 (seconds))\n");
if (fan_control_commands & TPACPI_FAN_CMD_SPEED)
- len += sprintf(p + len, "commands:\tspeed <speed>"
+ seq_printf(m, "commands:\tspeed <speed>"
" (<speed> is 0-65535)\n");
- return len;
+ return 0;
}
static int fan_write_cmd_level(const char *cmd, int *rc)
@@ -7907,19 +7887,19 @@ static int __init ibm_init(struct ibm_in
"%s installed\n", ibm->name);
if (ibm->read) {
- entry = create_proc_entry(ibm->name,
- S_IFREG | S_IRUGO | S_IWUSR,
- proc_dir);
+ mode_t mode;
+
+ mode = S_IRUGO;
+ if (ibm->write)
+ mode |= S_IWUSR;
+ entry = proc_create_data(ibm->name, mode, proc_dir,
+ &dispatch_proc_fops, ibm);
if (!entry) {
printk(TPACPI_ERR "unable to create proc entry %s\n",
ibm->name);
ret = -ENODEV;
goto err_out;
}
- entry->data = ibm;
- entry->read_proc = &dispatch_procfs_read;
- if (ibm->write)
- entry->write_proc = &dispatch_procfs_write;
ibm->flags.proc_created = 1;
}
next prev parent reply other threads:[~2010-04-22 19:57 UTC|newest]
Thread overview: 238+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-22 19:18 [000/197] 2.6.32.12-stable review Greg KH
2010-04-22 19:07 ` [001/197] drm/edid: allow certain bogus edids to hit a fixup path rather than fail Greg KH
2010-04-22 19:07 ` [002/197] drm/radeon: add new RS880 pci id Greg KH
2010-04-22 19:07 ` [003/197] drm: remove the EDID blob stored in the EDID property when it is disconnected Greg KH
2010-04-22 19:07 ` [004/197] fat: fix buffer overflow in vfat_create_shortname() Greg KH
2010-04-22 19:07 ` [005/197] oom: fix the unsafe usage of badness() in proc_oom_score() Greg KH
2010-04-22 19:07 ` [006/197] drm/radeon/kms: dont print error on -ERESTARTSYS Greg KH
2010-04-22 19:07 ` [007/197] drm/radeon/kms: fix pal tv-out support on legacy IGP chips Greg KH
2010-04-22 19:07 ` [008/197] drm: Return ENODEV if the inode mapping changes Greg KH
2010-04-22 19:07 ` [009/197] xfs: simplify inode teardown Greg KH
2010-04-22 19:07 ` [010/197] xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks Greg KH
2010-04-22 19:07 ` [011/197] xfs: I/O completion handlers must use NOFS allocations Greg KH
2010-04-22 19:07 ` [012/197] xfs: Wrapped journal record corruption on read at recovery Greg KH
2010-04-22 19:07 ` [013/197] xfs: Fix error return for fallocate() on XFS Greg KH
2010-04-22 19:07 ` [014/197] xfs: check for not fully initialized inodes in xfs_ireclaim Greg KH
2010-04-22 19:07 ` [015/197] xfs: fix timestamp handling in xfs_setattr Greg KH
2010-04-22 19:07 ` [016/197] xfs: Dont flush stale inodes Greg KH
2010-04-22 19:07 ` [017/197] xfs: Ensure we force all busy extents in range to disk Greg KH
2010-04-22 19:07 ` [018/197] xfs: reclaim inodes under a write lock Greg KH
2010-04-22 19:07 ` [019/197] xfs: Avoid inodes in reclaim when flushing from inode cache Greg KH
2010-04-22 19:07 ` [020/197] xfs: reclaim all inodes by background tree walks Greg KH
2010-04-22 19:07 ` [021/197] xfs: fix stale inode flush avoidance Greg KH
2010-04-22 19:07 ` [022/197] xfs: xfs_swap_extents needs to handle dynamic fork offsets Greg KH
2010-04-22 19:07 ` [023/197] xfs: quota limit statvfs available blocks Greg KH
2010-04-22 19:07 ` [024/197] xfs: dont hold onto reserved blocks on remount, ro Greg KH
2010-04-22 19:07 ` [025/197] xfs: remove invalid barrier optimization from xfs_fsync Greg KH
2010-04-22 19:07 ` [026/197] xfs: Non-blocking inode locking in IO completion Greg KH
2010-04-22 19:07 ` [027/197] xfs: fix locking for inode cache radix tree tag updates Greg KH
2010-04-22 19:07 ` [028/197] sh: Enable the mmu in start_secondary() Greg KH
2010-04-22 19:08 ` [029/197] sh: Fix FDPIC binary loader Greg KH
2010-04-22 19:08 ` [030/197] [SCSI] libiscsi: Fix recovery slowdown regression Greg KH
2010-04-22 19:08 ` [031/197] Freezer: Fix buggy resume test for tasks frozen with cgroup freezer Greg KH
2010-04-22 19:08 ` [032/197] iwlwifi: counting number of tfds can be free for 4965 Greg KH
2010-04-22 19:08 ` [033/197] iwlwifi: fix nfreed-- Greg KH
2010-04-22 19:08 ` [034/197] iwlwifi: range checking issue Greg KH
2010-04-22 19:08 ` [035/197] setup correct int pipe type in ar9170_usb_exec_cmd Greg KH
2010-04-22 19:08 ` [036/197] mac80211: move netdev queue enabling to correct spot Greg KH
2010-04-22 19:08 ` [037/197] mac80211: tear down all agg queues when restart/reconfig hw Greg KH
2010-04-22 19:08 ` [038/197] WATCHDOG: hpwdt - fix lower timeout limit Greg KH
2010-04-22 19:08 ` [039/197] WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:08 ` [040/197] genirq: Force MSI irq handlers to run with interrupts disabled Greg KH
2010-04-22 19:08 ` [041/197] tty: release_one_tty() forgets to put pids Greg KH
2010-04-22 19:08 ` [042/197] lis3: fix show rate for 8 bits chips Greg KH
2010-04-22 19:08 ` [043/197] pata_ali: Fix regression with old devices Greg KH
2010-04-22 19:08 ` [044/197] HID: fix oops in gyration_event() Greg KH
2010-04-22 19:08 ` [045/197] raw: fsync method is now required Greg KH
2010-04-22 19:08 ` [046/197] readahead: fix NULL filp dereference Greg KH
2010-04-22 19:08 ` [047/197] ALSA: mixart: range checking proc file Greg KH
2010-04-22 19:08 ` [048/197] ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 Greg KH
2010-04-22 19:08 ` [049/197] x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space Greg KH
2010-04-26 17:10 ` Jiri Kosina
2010-04-27 6:55 ` Andreas Herrmann
2010-04-27 7:07 ` Jiri Kosina
2010-04-22 19:08 ` [050/197] resource: move kernel function inside __KERNEL__ Greg KH
2010-04-22 19:08 ` [051/197] backlight: mbp_nvidia_bl - add five more MacBook variants Greg KH
2010-04-22 19:54 ` Evan McClain
2010-04-23 16:02 ` Greg KH
2010-04-23 16:49 ` Evan McClain
2010-04-23 17:05 ` Evan McClain
2010-04-23 17:11 ` [Stable-review] " Willy Tarreau
2010-04-23 18:04 ` Evan McClain
2010-04-23 19:11 ` [stable] " Greg KH
2010-04-22 19:08 ` [052/197] KVM: x86 emulator: Add Virtual-8086 mode of emulation Greg KH
2010-04-22 19:08 ` [053/197] KVM: x86 emulator: fix memory access during x86 emulation Greg KH
2010-04-22 19:08 ` [054/197] KVM: x86 emulator: Check IOPL level during io instruction emulation Greg KH
2010-04-22 19:08 ` [055/197] KVM: x86 emulator: Fix popf emulation Greg KH
2010-04-22 19:08 ` [056/197] KVM: Fix segment descriptor loading Greg KH
2010-04-22 19:08 ` [057/197] KVM: VMX: Update instruction length on intercepted BP Greg KH
2010-04-22 19:08 ` [058/197] KVM: VMX: Use macros instead of hex value on cr0 initialization Greg KH
2010-04-22 19:08 ` [059/197] KVM: SVM: Reset cr0 properly on vcpu reset Greg KH
2010-04-22 19:08 ` [060/197] KVM: VMX: Disable unrestricted guest when EPT disabled Greg KH
2010-04-22 19:08 ` [061/197] KVM: x86: disable paravirt mmu reporting Greg KH
2010-04-22 19:08 ` [062/197] pata_via: Add VIA VX900 support Greg KH
2010-04-22 19:08 ` [063/197] ext3: Dont update the superblock in ext3_statfs() Greg KH
2010-04-22 19:08 ` [064/197] ext3: journal all modifications in ext3_xattr_set_handle Greg KH
2010-04-22 19:08 ` [065/197] thinkpad-acpi: fix some version quirks Greg KH
2010-04-22 19:08 ` [066/197] thinkpad-acpi: issue backlight class events Greg KH
2010-04-22 19:08 ` [067/197] thinkpad-acpi: silence bogus complain during rmmod Greg KH
2010-04-22 19:08 ` [068/197] thinkpad-acpi: adopt input device Greg KH
2010-04-22 19:08 ` [069/197] thinkpad-acpi: expose module parameters Greg KH
2010-04-22 19:08 ` [070/197] thinkpad-acpi: log temperatures on termal alarm (v2) Greg KH
2010-04-22 19:08 ` [071/197] thinkpad-acpi: use input_set_capability Greg KH
2010-04-22 19:08 ` [072/197] thinkpad-acpi: sync input device EV_SW initial state Greg KH
2010-04-22 19:08 ` [073/197] thinkpad-acpi: log initial state of rfkill switches Greg KH
2010-04-22 19:08 ` Greg KH [this message]
2010-04-22 19:08 ` [075/197] thinkpad-acpi: lock down video output state access Greg KH
2010-04-22 19:08 ` [076/197] eeepc-laptop: disable cpu speed control on EeePC 701 Greg KH
2010-04-22 19:08 ` [077/197] eeepc-laptop: dmi blacklist to disable pci hotplug code Greg KH
2010-04-22 19:08 ` [078/197] eeepc-laptop: add hotplug_disable parameter Greg KH
2010-04-22 19:08 ` [079/197] eeepc-laptop: disable wireless hotplug for 1201N Greg KH
2010-04-22 19:08 ` [080/197] eeepc-laptop: disable wireless hotplug for 1005PE Greg KH
2010-04-22 19:08 ` [081/197] libata: disable NCQ on Crucial C300 SSD Greg KH
2010-04-22 19:08 ` [082/197] cifs: Fix a kernel BUG with remote OS/2 server (try #3) Greg KH
2010-04-22 19:08 ` [083/197] CIFS: initialize nbytes at the beginning of CIFSSMBWrite() Greg KH
2010-04-22 19:08 ` [084/197] iwlwifi: need check for valid qos packet before free Greg KH
2010-04-22 19:08 ` [085/197] ARM: 6031/1: fix Thumb-2 decompressor Greg KH
2010-04-22 19:08 ` [086/197] drm/edid/quirks: Envision EN2028 Greg KH
2010-04-22 19:08 ` [087/197] drm/radeon: R300 AD only has one quad pipe Greg KH
2010-04-22 19:08 ` [088/197] drm/radeon/kms: fix washed out image on legacy tv dac Greg KH
2010-04-22 19:09 ` [089/197] x86-32, resume: do a global tlb flush in S4 resume Greg KH
2010-04-22 19:09 ` [090/197] x86: hpet: Make WARN_ON understandable Greg KH
2010-04-22 19:09 ` [091/197] x86, hpet: Erratum workaround for read after write of HPET comparator Greg KH
2010-04-22 19:09 ` [092/197] x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards Greg KH
2010-04-22 19:09 ` [093/197] sched: sched_getaffinity(): Allow less than NR_CPUS length Greg KH
2010-04-22 19:09 ` [094/197] sched: Fix sched_getaffinity() Greg KH
2010-04-22 19:09 ` [095/197] NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR Greg KH
2010-04-22 19:09 ` [096/197] NFSv4: fix delegated locking Greg KH
2010-04-22 19:09 ` [097/197] ALSA: hda - add a quirk for Clevo M570U laptop Greg KH
2010-04-22 19:09 ` [098/197] ALSA: usb - Fix Oops after usb-midi disconnection Greg KH
2010-04-22 19:09 ` [099/197] hwmon: (sht15) Fix sht15_calc_temp interpolation function Greg KH
2010-04-22 19:09 ` [100/197] hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n Greg KH
2010-04-22 19:09 ` [101/197] drm/i915: Add no_lvds entry for the Clientron U800 Greg KH
2010-04-22 19:09 ` [102/197] drm/radeon/kms: disable the tv encoder when tv/cv is not in use Greg KH
2010-04-22 19:09 ` [103/197] drm/radeon/kms: fix tv dac conflict resolver Greg KH
2010-04-22 19:09 ` [104/197] drm/radeon/kms: fix rs600 tlb flush Greg KH
2010-04-22 19:09 ` [105/197] drm/radeon/kms: add FireMV 2400 PCI ID Greg KH
2010-04-22 19:09 ` [106/197] x86/amd-iommu: Use helper function to destroy domain Greg KH
2010-04-22 19:09 ` [107/197] x86/amd-iommu: enable iommu before attaching devices Greg KH
2010-04-22 19:09 ` [108/197] Revert "x86: disable IOMMUs on kernel crash" Greg KH
2010-04-22 19:09 ` [109/197] x86, lib: Add wbinvd smp helpers Greg KH
2010-04-22 19:09 ` [110/197] x86, cacheinfo: Fix disabling of L3 cache indices Greg KH
2010-04-22 19:09 ` [111/197] intel-agp: Switch to wbinvd_on_all_cpus Greg KH
2010-04-22 19:09 ` [112/197] x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches Greg KH
2010-04-22 19:09 ` [113/197] x86, cacheinfo: Calculate L3 indices Greg KH
2010-05-05 16:26 ` Jiri Kosina
2010-05-05 18:02 ` Borislav Petkov
2010-05-05 21:33 ` Jiri Kosina
2010-05-06 8:17 ` Borislav Petkov
2010-05-06 13:46 ` Jiri Kosina
2010-05-06 14:13 ` Borislav Petkov
2010-05-12 23:19 ` [stable] " Greg KH
2010-05-12 23:32 ` H. Peter Anvin
2010-05-12 23:42 ` H. Peter Anvin
2010-05-13 5:26 ` Jiri Kosina
2010-05-13 7:01 ` Borislav Petkov
2010-04-22 19:09 ` [114/197] x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 Greg KH
2010-04-22 19:09 ` [115/197] x86, cacheinfo: Enable L3 CID only on AMD Greg KH
2010-04-22 19:09 ` [116/197] vgaarb: fix "target=default" passing Greg KH
2010-04-22 19:09 ` [117/197] x86-32: clean up rwsem inline asm statements Greg KH
2010-04-22 19:09 ` [118/197] x86: clean up rwsem type system Greg KH
2010-04-22 19:09 ` [119/197] x86-64, rwsem: 64-bit xadd rwsem implementation Greg KH
2010-04-22 19:09 ` [120/197] x86-64: support native " Greg KH
2010-04-22 19:09 ` [121/197] x86: Fix breakage of UML from the changes in the rwsem system Greg KH
2010-04-22 19:09 ` [122/197] x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write Greg KH
2010-04-22 19:09 ` [123/197] fix NFS4 handling of mountpoint stat Greg KH
2010-04-22 19:09 ` [124/197] dm mpath: fix stall when requeueing io Greg KH
2010-04-22 19:09 ` [125/197] quota: Fix possible dq_flags corruption Greg KH
2010-04-22 19:09 ` [126/197] Staging: comedi: fix usbdux timeout bug Greg KH
2010-04-22 19:09 ` [127/197] Staging: comedi: usbdux.c: fix locking up of the driver when the comedi ringbuffer runs empty Greg KH
2010-04-22 19:09 ` [128/197] ocfs2: set i_mode on disk during acl operations Greg KH
2010-04-22 19:09 ` [129/197] ocfs2: Change bg_chain check for ocfs2_validate_gd_parent Greg KH
2010-04-22 19:09 ` [130/197] 9p: Skip check for mandatory locks when unlocking Greg KH
2010-04-22 19:09 ` [131/197] [SCSI] fc class: fail fast bsg requests Greg KH
2010-04-22 19:09 ` [132/197] SCSI: add scsi target reset support to scsi ioctl Greg KH
2010-04-22 19:09 ` [133/197] igb: add support for 82576NS SerDes adapter Greg KH
2010-04-22 19:09 ` [134/197] PCIe AER: prevent AER injection if hardware masks error reporting Greg KH
2010-04-22 19:09 ` [135/197] vgaarb: Fix VGA arbiter to accept PCI domains other than 0 Greg KH
2010-04-22 19:09 ` [136/197] SCSI: fc-transport: Use packed modifier for fc_bsg_request structure Greg KH
2010-04-22 19:09 ` [137/197] pci: Update pci_set_vga_state() to call arch functions Greg KH
2010-04-22 19:09 ` [138/197] PCI: kill off pci_register_set_vga_state() symbol export Greg KH
2010-04-22 19:09 ` [139/197] PCI: fix nested spinlock hang in aer_inject Greg KH
2010-04-22 19:09 ` [140/197] IPoIB: Fix TX queue lockup with mixed UD/CM traffic Greg KH
2010-04-22 19:09 ` [141/197] x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:09 ` [142/197] ALSA: hda_intel: ALSA HD Audio " Greg KH
2010-04-22 19:09 ` [143/197] ALSA: hda - enable snoop for Intel Cougar Point Greg KH
2010-04-22 19:09 ` [144/197] ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs Greg KH
2010-04-22 19:09 ` [145/197] ahci: AHCI and RAID mode " Greg KH
2010-04-22 19:09 ` [146/197] i2c-i801: Add Intel Cougar Point device IDs Greg KH
2010-04-22 19:09 ` [147/197] b43: Remove reset after fatal DMA error Greg KH
2010-04-22 19:09 ` [148/197] b43: Allow PIO mode to be selected at module load Greg KH
2010-04-22 19:10 ` [149/197] b43: fall back gracefully to PIO mode after fatal DMA errors Greg KH
2010-04-22 19:10 ` [150/197] ALSA: hda - Add position_fix quirk for Biostar mobo Greg KH
2010-04-22 19:10 ` [151/197] agp/hp: fixup hp agp after ACPI changes Greg KH
2010-04-22 19:10 ` [152/197] b43: Optimize PIO scratchbuffer usage Greg KH
2010-04-22 19:10 ` [153/197] ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode Greg KH
2010-04-22 19:10 ` [154/197] eCryptfs: Decrypt symlink target for stat size Greg KH
2010-04-22 19:10 ` [155/197] ecryptfs: fix error code for missing xattrs in lower fs Greg KH
2010-04-22 19:10 ` [156/197] sched: Fix a race between ttwu() and migrate_task() Greg KH
2010-04-22 19:10 ` [157/197] USB: cdc-acm: Update to new autopm API Greg KH
2010-04-22 19:10 ` [158/197] USB: cdc-acm: Fix stupid NULL pointer in resume() Greg KH
2010-04-22 19:10 ` [159/197] iwlwifi: clear all tx queues when firmware ready Greg KH
2010-04-22 19:10 ` [160/197] iwlwifi: fix scan race Greg KH
2010-04-22 19:10 ` [161/197] e1000e: stop cleaning when we reach tx_ring->next_to_use Greg KH
2010-04-22 19:10 ` [162/197] r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) Greg KH
2010-04-22 19:10 ` [163/197] tcp: fix ICMP-RTO war Greg KH
2010-04-22 19:10 ` [164/197] perf_events, x86: Implement Intel Westmere/Nehalem-EX support Greg KH
2010-04-22 19:10 ` [165/197] ACPI: EC: Allow multibyte access to EC Greg KH
2010-04-22 19:59 ` Linus Torvalds
2010-04-22 20:07 ` Greg KH
2010-04-22 19:10 ` [166/197] md/raid5: allow for more than 2^31 chunks Greg KH
2010-04-23 0:33 ` [Stable-review] " Chuck Ebbert
2010-04-23 0:58 ` Linus Torvalds
2010-04-23 3:11 ` Greg KH
2010-04-23 16:06 ` Greg KH
2010-04-22 19:10 ` [167/197] ACPI: EC: Limit burst to 64 bits Greg KH
2010-04-22 19:10 ` [168/197] Input: wacom - switch mode upon system resume Greg KH
2010-04-22 19:10 ` [169/197] modules: fix incorrect percpu usage Greg KH
2010-04-28 17:46 ` Mathieu Desnoyers
2010-04-22 19:10 ` [170/197] lockdep: " Greg KH
2010-04-22 21:08 ` [Stable-review] " Nikola Ciprich
2010-04-22 22:02 ` Mathieu Desnoyers
2010-04-23 16:05 ` Greg KH
2010-04-28 17:46 ` Mathieu Desnoyers
2010-04-22 19:10 ` [171/197] module: fix __module_ref_addr() Greg KH
2010-04-28 14:52 ` Jiri Benc
2010-04-28 16:20 ` Mathieu Desnoyers
2010-04-28 16:55 ` Jiri Benc
2010-04-28 17:24 ` Tejun Heo
2010-04-28 17:29 ` Greg KH
2010-04-28 17:45 ` Mathieu Desnoyers
2010-05-12 22:14 ` [stable] " Greg KH
2010-04-22 19:10 ` [172/197] md: deal with merge_bvec_fn in component devices better Greg KH
2010-04-22 19:10 ` [173/197] nfsd4: dont try to map gids in generic rpc code Greg KH
2010-04-22 19:10 ` [174/197] Revert "sunrpc: fix peername failed on closed listener" Greg KH
2010-04-22 19:10 ` [175/197] Revert "sunrpc: move the close processing after do recvfrom method" Greg KH
2010-04-22 19:10 ` [176/197] nfsd: ensure sockets are closed on error Greg KH
2010-04-22 19:10 ` [177/197] ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410 Greg KH
2010-04-22 19:10 ` [178/197] mac80211: fix deferred hardware scan requests Greg KH
2010-04-22 19:10 ` [179/197] fs-writeback: Add helper function to start writeback if idle Greg KH
2010-04-22 19:10 ` [180/197] ext4: flush delalloc blocks when space is low Greg KH
2010-04-22 19:10 ` [181/197] ext4: fix async i/o writes beyond 4GB to a sparse file Greg KH
2010-04-22 19:10 ` [182/197] tpm: autoload tpm_tis based on system PnP IDs Greg KH
2010-04-22 19:10 ` [183/197] IB/iser: Rewrite SG handling for RDMA logic Greg KH
2010-04-22 19:10 ` [184/197] [SCSI] mptctl : Remove printk which floods unnecessary messages to var/log/message Greg KH
2010-04-22 19:10 ` [185/197] [SCSI] mptspi: Fix for incorrect data underrun errata Greg KH
2010-04-22 19:10 ` [186/197] sched: Use proper type in sched_getaffinity() Greg KH
2010-04-22 19:10 ` [187/197] KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails Greg KH
2010-04-22 19:10 ` [188/197] KVM: Dont spam kernel log when injecting exceptions due to bad cr writes Greg KH
2010-04-22 19:10 ` [189/197] KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL Greg KH
2010-04-22 19:10 ` [190/197] KVM: VMX: Save/restore rflags.vm correctly in real mode Greg KH
2010-04-22 19:10 ` [191/197] KVM: MMU: fix kvm_mmu_zap_page() and its calling path Greg KH
2010-04-22 19:10 ` [192/197] KVM: fix the handling of dirty bitmaps to avoid overflows Greg KH
2010-04-22 19:10 ` [193/197] KVM: Increase NR_IOBUS_DEVS limit to 200 Greg KH
2010-04-22 19:10 ` [194/197] KVM: x86: Fix TSS size check for 16-bit tasks Greg KH
2010-04-22 19:10 ` [195/197] x86/gart: Disable GART explicitly before initialization Greg KH
2010-04-22 19:10 ` [196/197] MIPS: uasm: Add OR instruction Greg KH
2010-04-22 19:10 ` [197/197] MIPS: Sibyte: Fix M3 TLB exception handler workaround Greg KH
2010-04-23 16:10 ` [stable] [000/197] 2.6.32.12-stable review Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100422190914.024327790@kvm.kroah.org \
--to=gregkh@suse.de \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hmh@hmh.eng.br \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®