Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 131937
b: refs/heads/master
c: c742b4b
h: refs/heads/master
i:
  131935: 4a550c6
v: v3
  • Loading branch information
Linus Torvalds committed Mar 2, 2009
1 parent 146aa9b commit 5a10742
Show file tree
Hide file tree
Showing 46 changed files with 480 additions and 265 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d7f59dc4642ce2fc7b79fcd4ec02ffce7f21eb02
refs/heads/master: c742b4bf7a180619831783dcdad6aec062587e54
11 changes: 5 additions & 6 deletions trunk/Documentation/scsi/cxgb3i.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Introduction
============

The Chelsio T3 ASIC based Adapters (S310, S320, S302, S304, Mezz cards, etc.
series of products) supports iSCSI acceleration and iSCSI Direct Data Placement
series of products) support iSCSI acceleration and iSCSI Direct Data Placement
(DDP) where the hardware handles the expensive byte touching operations, such
as CRC computation and verification, and direct DMA to the final host memory
destination:
Expand All @@ -31,9 +31,9 @@ destination:
the TCP segments onto the wire. It handles TCP retransmission if
needed.

On receving, S3 h/w recovers the iSCSI PDU by reassembling TCP
On receiving, S3 h/w recovers the iSCSI PDU by reassembling TCP
segments, separating the header and data, calculating and verifying
the digests, then forwards the header to the host. The payload data,
the digests, then forwarding the header to the host. The payload data,
if possible, will be directly placed into the pre-posted host DDP
buffer. Otherwise, the payload data will be sent to the host too.

Expand Down Expand Up @@ -68,9 +68,8 @@ The following steps need to be taken to accelerates the open-iscsi initiator:
sure the ip address is unique in the network.

3. edit /etc/iscsi/iscsid.conf
The default setting for MaxRecvDataSegmentLength (131072) is too big,
replace "node.conn[0].iscsi.MaxRecvDataSegmentLength" to be a value no
bigger than 15360 (for example 8192):
The default setting for MaxRecvDataSegmentLength (131072) is too big;
replace with a value no bigger than 15360 (for example 8192):

node.conn[0].iscsi.MaxRecvDataSegmentLength = 8192

Expand Down
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2464,7 +2464,7 @@ S: Maintained

ISDN SUBSYSTEM
P: Karsten Keil
M: kkeil@suse.de
M: isdn@linux-pingi.de
L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
W: http://www.isdn4linux.de
T: git kernel.org:/pub/scm/linux/kernel/kkeil/isdn-2.6.git
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/include/asm/seccomp.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#ifndef __ASM_SECCOMP_H

#include <linux/thread_info.h>
#include <linux/unistd.h>

#define __NR_seccomp_read __NR_read
Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/powerpc/include/asm/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -210,5 +210,10 @@ struct compat_shmid64_ds {
compat_ulong_t __unused6;
};

static inline int is_compat_task(void)
{
return test_thread_flag(TIF_32BIT);
}

#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_COMPAT_H */
4 changes: 0 additions & 4 deletions trunk/arch/powerpc/include/asm/seccomp.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
#ifndef _ASM_POWERPC_SECCOMP_H
#define _ASM_POWERPC_SECCOMP_H

#ifdef __KERNEL__
#include <linux/thread_info.h>
#endif

#include <linux/unistd.h>

#define __NR_seccomp_read __NR_read
Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/sparc/include/asm/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,4 +240,9 @@ struct compat_shmid64_ds {
unsigned int __unused2;
};

static inline int is_compat_task(void)
{
return test_thread_flag(TIF_32BIT);
}

#endif /* _ASM_SPARC64_COMPAT_H */
6 changes: 0 additions & 6 deletions trunk/arch/sparc/include/asm/seccomp.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
#ifndef _ASM_SECCOMP_H

#include <linux/thread_info.h> /* already defines TIF_32BIT */

#ifndef TIF_32BIT
#error "unexpected TIF_32BIT on sparc64"
#endif

#include <linux/unistd.h>

#define __NR_seccomp_read __NR_read
Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/x86/include/asm/seccomp_32.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
#ifndef _ASM_X86_SECCOMP_32_H
#define _ASM_X86_SECCOMP_32_H

#include <linux/thread_info.h>

#ifdef TIF_32BIT
#error "unexpected TIF_32BIT on i386"
#endif

#include <linux/unistd.h>

#define __NR_seccomp_read __NR_read
Expand Down
8 changes: 0 additions & 8 deletions trunk/arch/x86/include/asm/seccomp_64.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
#ifndef _ASM_X86_SECCOMP_64_H
#define _ASM_X86_SECCOMP_64_H

#include <linux/thread_info.h>

#ifdef TIF_32BIT
#error "unexpected TIF_32BIT on x86_64"
#else
#define TIF_32BIT TIF_IA32
#endif

#include <linux/unistd.h>
#include <asm/ia32_unistd.h>

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1388,7 +1388,7 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
#ifdef CONFIG_X86_32
# define IS_IA32 1
#elif defined CONFIG_IA32_EMULATION
# define IS_IA32 test_thread_flag(TIF_IA32)
# define IS_IA32 is_compat_task()
#else
# define IS_IA32 0
#endif
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/input/keyboard/atkbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ static void atkbd_disconnect(struct serio *serio)
*/
static void atkbd_dell_laptop_keymap_fixup(struct atkbd *atkbd)
{
const unsigned int forced_release_keys[] = {
static const unsigned int forced_release_keys[] = {
0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8f, 0x93,
};
int i;
Expand All @@ -856,7 +856,7 @@ static void atkbd_dell_laptop_keymap_fixup(struct atkbd *atkbd)
*/
static void atkbd_hp_keymap_fixup(struct atkbd *atkbd)
{
const unsigned int forced_release_keys[] = {
static const unsigned int forced_release_keys[] = {
0x94,
};
int i;
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/input/keyboard/bf54x-keys.c
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,8 @@ static int __devinit bfin_kpad_probe(struct platform_device *pdev)
goto out;
}

if (!pdata->debounce_time || !pdata->debounce_time > MAX_MULT ||
!pdata->coldrive_time || !pdata->coldrive_time > MAX_MULT) {
if (!pdata->debounce_time || pdata->debounce_time > MAX_MULT ||
!pdata->coldrive_time || pdata->coldrive_time > MAX_MULT) {
printk(KERN_ERR DRV_NAME
": Invalid Debounce/Columdrive Time from pdata\n");
bfin_write_KPAD_MSEL(0xFF0); /* Default MSEL */
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/input/keyboard/corgikbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ static int corgikbd_resume(struct platform_device *dev)
#define corgikbd_resume NULL
#endif

static int __init corgikbd_probe(struct platform_device *pdev)
static int __devinit corgikbd_probe(struct platform_device *pdev)
{
struct corgikbd *corgikbd;
struct input_dev *input_dev;
Expand Down Expand Up @@ -368,7 +368,7 @@ static int __init corgikbd_probe(struct platform_device *pdev)
return err;
}

static int corgikbd_remove(struct platform_device *pdev)
static int __devexit corgikbd_remove(struct platform_device *pdev)
{
int i;
struct corgikbd *corgikbd = platform_get_drvdata(pdev);
Expand All @@ -388,7 +388,7 @@ static int corgikbd_remove(struct platform_device *pdev)

static struct platform_driver corgikbd_driver = {
.probe = corgikbd_probe,
.remove = corgikbd_remove,
.remove = __devexit_p(corgikbd_remove),
.suspend = corgikbd_suspend,
.resume = corgikbd_resume,
.driver = {
Expand All @@ -397,7 +397,7 @@ static struct platform_driver corgikbd_driver = {
},
};

static int __devinit corgikbd_init(void)
static int __init corgikbd_init(void)
{
return platform_driver_register(&corgikbd_driver);
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/input/keyboard/omap-keypad.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ static int omap_kp_resume(struct platform_device *dev)
#define omap_kp_resume NULL
#endif

static int __init omap_kp_probe(struct platform_device *pdev)
static int __devinit omap_kp_probe(struct platform_device *pdev)
{
struct omap_kp *omap_kp;
struct input_dev *input_dev;
Expand Down Expand Up @@ -422,7 +422,7 @@ static int __init omap_kp_probe(struct platform_device *pdev)
return -EINVAL;
}

static int omap_kp_remove(struct platform_device *pdev)
static int __devexit omap_kp_remove(struct platform_device *pdev)
{
struct omap_kp *omap_kp = platform_get_drvdata(pdev);

Expand Down Expand Up @@ -454,7 +454,7 @@ static int omap_kp_remove(struct platform_device *pdev)

static struct platform_driver omap_kp_driver = {
.probe = omap_kp_probe,
.remove = omap_kp_remove,
.remove = __devexit_p(omap_kp_remove),
.suspend = omap_kp_suspend,
.resume = omap_kp_resume,
.driver = {
Expand All @@ -463,7 +463,7 @@ static struct platform_driver omap_kp_driver = {
},
};

static int __devinit omap_kp_init(void)
static int __init omap_kp_init(void)
{
printk(KERN_INFO "OMAP Keypad Driver\n");
return platform_driver_register(&omap_kp_driver);
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/input/keyboard/spitzkbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ static int spitzkbd_resume(struct platform_device *dev)
#define spitzkbd_resume NULL
#endif

static int __init spitzkbd_probe(struct platform_device *dev)
static int __devinit spitzkbd_probe(struct platform_device *dev)
{
struct spitzkbd *spitzkbd;
struct input_dev *input_dev;
Expand Down Expand Up @@ -444,7 +444,7 @@ static int __init spitzkbd_probe(struct platform_device *dev)
return err;
}

static int spitzkbd_remove(struct platform_device *dev)
static int __devexit spitzkbd_remove(struct platform_device *dev)
{
int i;
struct spitzkbd *spitzkbd = platform_get_drvdata(dev);
Expand All @@ -470,7 +470,7 @@ static int spitzkbd_remove(struct platform_device *dev)

static struct platform_driver spitzkbd_driver = {
.probe = spitzkbd_probe,
.remove = spitzkbd_remove,
.remove = __devexit_p(spitzkbd_remove),
.suspend = spitzkbd_suspend,
.resume = spitzkbd_resume,
.driver = {
Expand All @@ -479,7 +479,7 @@ static struct platform_driver spitzkbd_driver = {
},
};

static int __devinit spitzkbd_init(void)
static int __init spitzkbd_init(void)
{
return platform_driver_register(&spitzkbd_driver);
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/input/mouse/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ config MOUSE_PS2_SYNAPTICS
config MOUSE_PS2_LIFEBOOK
bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED
default y
depends on MOUSE_PS2
depends on MOUSE_PS2 && X86
help
Say Y here if you have a Fujitsu B-series Lifebook PS/2
TouchScreen connected to your system.
Expand Down
32 changes: 24 additions & 8 deletions trunk/drivers/input/mouse/elantech.c
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ int elantech_detect(struct psmouse *psmouse, int set_properties)
ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) ||
ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) ||
ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) {
pr_err("elantech.c: sending Elantech magic knock failed.\n");
pr_debug("elantech.c: sending Elantech magic knock failed.\n");
return -1;
}

Expand All @@ -551,8 +551,27 @@ int elantech_detect(struct psmouse *psmouse, int set_properties)
* set of magic numbers
*/
if (param[0] != 0x3c || param[1] != 0x03 || param[2] != 0xc8) {
pr_info("elantech.c: unexpected magic knock result 0x%02x, 0x%02x, 0x%02x.\n",
param[0], param[1], param[2]);
pr_debug("elantech.c: "
"unexpected magic knock result 0x%02x, 0x%02x, 0x%02x.\n",
param[0], param[1], param[2]);
return -1;
}

/*
* Query touchpad's firmware version and see if it reports known
* value to avoid mis-detection. Logitech mice are known to respond
* to Elantech magic knock and there might be more.
*/
if (synaptics_send_cmd(psmouse, ETP_FW_VERSION_QUERY, param)) {
pr_debug("elantech.c: failed to query firmware version.\n");
return -1;
}

pr_debug("elantech.c: Elantech version query result 0x%02x, 0x%02x, 0x%02x.\n",
param[0], param[1], param[2]);

if (param[0] == 0 || param[1] != 0) {
pr_debug("elantech.c: Probably not a real Elantech touchpad. Aborting.\n");
return -1;
}

Expand Down Expand Up @@ -600,8 +619,7 @@ int elantech_init(struct psmouse *psmouse)
int i, error;
unsigned char param[3];

etd = kzalloc(sizeof(struct elantech_data), GFP_KERNEL);
psmouse->private = etd;
psmouse->private = etd = kzalloc(sizeof(struct elantech_data), GFP_KERNEL);
if (!etd)
return -1;

Expand All @@ -610,14 +628,12 @@ int elantech_init(struct psmouse *psmouse)
etd->parity[i] = etd->parity[i & (i - 1)] ^ 1;

/*
* Find out what version hardware this is
* Do the version query again so we can store the result
*/
if (synaptics_send_cmd(psmouse, ETP_FW_VERSION_QUERY, param)) {
pr_err("elantech.c: failed to query firmware version.\n");
goto init_fail;
}
pr_info("elantech.c: Elantech version query result 0x%02x, 0x%02x, 0x%02x.\n",
param[0], param[1], param[2]);
etd->fw_version_maj = param[0];
etd->fw_version_min = param[2];

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/input/mouse/pxa930_trkball.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ static int write_tbcr(struct pxa930_trkball *trkball, int v)

__raw_writel(v, trkball->mmio_base + TBCR);

while (i--) {
while (--i) {
if (__raw_readl(trkball->mmio_base + TBCR) == v)
break;
msleep(1);
Expand Down
9 changes: 4 additions & 5 deletions trunk/drivers/input/mouse/synaptics.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,6 @@ static int synaptics_identify(struct psmouse *psmouse)

static int synaptics_query_hardware(struct psmouse *psmouse)
{
int retries = 0;

while ((retries++ < 3) && psmouse_reset(psmouse))
/* empty */;

if (synaptics_identify(psmouse))
return -1;
if (synaptics_model_id(psmouse))
Expand Down Expand Up @@ -582,6 +577,8 @@ static int synaptics_reconnect(struct psmouse *psmouse)
struct synaptics_data *priv = psmouse->private;
struct synaptics_data old_priv = *priv;

psmouse_reset(psmouse);

if (synaptics_detect(psmouse, 0))
return -1;

Expand Down Expand Up @@ -640,6 +637,8 @@ int synaptics_init(struct psmouse *psmouse)
if (!priv)
return -1;

psmouse_reset(psmouse);

if (synaptics_query_hardware(psmouse)) {
printk(KERN_ERR "Unable to query Synaptics hardware.\n");
goto init_fail;
Expand Down
Loading

0 comments on commit 5a10742

Please sign in to comment.