Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 233914
b: refs/heads/master
c: 212e349
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Mar 5, 2011
1 parent 2c5d8ef commit 5069c36
Show file tree
Hide file tree
Showing 18 changed files with 107 additions and 37 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: be1229b4c52202033ba857e96e592777f08e8046
refs/heads/master: 212e3499b2c69cc0899422973310e610d1c0666f
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3520,7 +3520,7 @@ F: drivers/hwmon/jc42.c
F: Documentation/hwmon/jc42

JFS FILESYSTEM
M: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
M: Dave Kleikamp <shaggy@kernel.org>
L: jfs-discussion@lists.sourceforge.net
W: http://jfs.sourceforge.net/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-shmobile/board-ag5evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,7 @@ static void __init ag5evm_init(void)
gpio_direction_output(GPIO_PORT217, 0);
mdelay(1);
gpio_set_value(GPIO_PORT217, 1);
mdelay(100);

/* LCD backlight controller */
gpio_request(GPIO_PORT235, NULL); /* RESET */
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-shmobile/board-ap4evb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1303,7 +1303,7 @@ static void __init ap4evb_init(void)

lcdc_info.clock_source = LCDC_CLK_BUS;
lcdc_info.ch[0].interface_type = RGB18;
lcdc_info.ch[0].clock_divider = 2;
lcdc_info.ch[0].clock_divider = 3;
lcdc_info.ch[0].flags = 0;
lcdc_info.ch[0].lcd_size_cfg.width = 152;
lcdc_info.ch[0].lcd_size_cfg.height = 91;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-shmobile/board-mackerel.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ static struct sh_mobile_lcdc_info lcdc_info = {
.lcd_cfg = mackerel_lcdc_modes,
.num_cfg = ARRAY_SIZE(mackerel_lcdc_modes),
.interface_type = RGB24,
.clock_divider = 2,
.clock_divider = 3,
.flags = 0,
.lcd_size_cfg.width = 152,
.lcd_size_cfg.height = 91,
Expand Down
17 changes: 14 additions & 3 deletions trunk/arch/arm/mach-shmobile/clock-sh73a0.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ static struct clk div6_clks[DIV6_NR] = {
};

enum { MSTP001,
MSTP125, MSTP118, MSTP116, MSTP100,
MSTP129, MSTP128, MSTP127, MSTP126, MSTP125, MSTP118, MSTP116, MSTP100,
MSTP219,
MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200,
MSTP331, MSTP329, MSTP325, MSTP323, MSTP312,
Expand All @@ -275,6 +275,10 @@ enum { MSTP001,

static struct clk mstp_clks[MSTP_NR] = {
[MSTP001] = MSTP(&div4_clks[DIV4_HP], SMSTPCR0, 1, 0), /* IIC2 */
[MSTP129] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 29, 0), /* CEU1 */
[MSTP128] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 28, 0), /* CSI2-RX1 */
[MSTP127] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 27, 0), /* CEU0 */
[MSTP126] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 26, 0), /* CSI2-RX0 */
[MSTP125] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR1, 25, 0), /* TMU0 */
[MSTP118] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 18, 0), /* DSITX0 */
[MSTP116] = MSTP(&div4_clks[DIV4_HP], SMSTPCR1, 16, 0), /* IIC0 */
Expand Down Expand Up @@ -306,18 +310,25 @@ static struct clk_lookup lookups[] = {
CLKDEV_CON_ID("r_clk", &r_clk),

/* DIV6 clocks */
CLKDEV_CON_ID("vck1_clk", &div6_clks[DIV6_VCK1]),
CLKDEV_CON_ID("vck2_clk", &div6_clks[DIV6_VCK2]),
CLKDEV_CON_ID("vck3_clk", &div6_clks[DIV6_VCK3]),
CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSIT]),
CLKDEV_ICK_ID("dsit_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSIT]),
CLKDEV_ICK_ID("dsi0p_clk", "sh-mipi-dsi.0", &div6_clks[DIV6_DSI0P]),
CLKDEV_ICK_ID("dsi1p_clk", "sh-mipi-dsi.1", &div6_clks[DIV6_DSI1P]),

/* MSTP32 clocks */
CLKDEV_DEV_ID("i2c-sh_mobile.2", &mstp_clks[MSTP001]), /* I2C2 */
CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0", &mstp_clks[MSTP100]), /* LCDC0 */
CLKDEV_DEV_ID("sh_mobile_ceu.1", &mstp_clks[MSTP129]), /* CEU1 */
CLKDEV_DEV_ID("sh-mobile-csi2.1", &mstp_clks[MSTP128]), /* CSI2-RX1 */
CLKDEV_DEV_ID("sh_mobile_ceu.0", &mstp_clks[MSTP127]), /* CEU0 */
CLKDEV_DEV_ID("sh-mobile-csi2.0", &mstp_clks[MSTP126]), /* CSI2-RX0 */
CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP125]), /* TMU00 */
CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP125]), /* TMU01 */
CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]), /* I2C0 */
CLKDEV_DEV_ID("sh-mipi-dsi.0", &mstp_clks[MSTP118]), /* DSITX */
CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]), /* I2C0 */
CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0", &mstp_clks[MSTP100]), /* LCDC0 */
CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP219]), /* SCIFA7 */
CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP207]), /* SCIFA5 */
CLKDEV_DEV_ID("sh-sci.8", &mstp_clks[MSTP206]), /* SCIFB */
Expand Down
10 changes: 5 additions & 5 deletions trunk/arch/arm/mach-shmobile/include/mach/head-ap4evb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ LIST "RWT Setting"
EW 0xE6020004, 0xA500
EW 0xE6030004, 0xA500

DD 0x01001000, 0x01001000

LIST "GPIO Setting"
EB 0xE6051013, 0xA2

LIST "CPG"
ED 0xE6150080, 0x00000180
ED 0xE61500C0, 0x00000002

WAIT 1, 0xFE40009C
Expand All @@ -37,6 +34,9 @@ ED 0xE615002C, 0x93000040

WAIT 1, 0xFE40009C

LIST "SUB/USBClk"
ED 0xE6150080, 0x00000180

LIST "BSC"
ED 0xFEC10000, 0x00E0001B

Expand All @@ -53,7 +53,7 @@ ED 0xFE400048, 0x20C18505
ED 0xFE40004C, 0x00110209
ED 0xFE400010, 0x00000087

WAIT 10, 0xFE40009C
WAIT 30, 0xFE40009C

ED 0xFE400084, 0x0000003F
EB 0xFE500000, 0x00
Expand Down Expand Up @@ -84,7 +84,7 @@ ED 0xE6150004, 0x80331050

WAIT 1, 0xFE40009C

ED 0xE6150354, 0x00000002
ED 0xFE400354, 0x01AD8002

LIST "SCIF0 - Serial port for earlyprintk"
EB 0xE6053098, 0x11
Expand Down
10 changes: 5 additions & 5 deletions trunk/arch/arm/mach-shmobile/include/mach/head-mackerel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ LIST "RWT Setting"
EW 0xE6020004, 0xA500
EW 0xE6030004, 0xA500

DD 0x01001000, 0x01001000

LIST "GPIO Setting"
EB 0xE6051013, 0xA2

LIST "CPG"
ED 0xE6150080, 0x00000180
ED 0xE61500C0, 0x00000002

WAIT 1, 0xFE40009C
Expand All @@ -37,6 +34,9 @@ ED 0xE615002C, 0x93000040

WAIT 1, 0xFE40009C

LIST "SUB/USBClk"
ED 0xE6150080, 0x00000180

LIST "BSC"
ED 0xFEC10000, 0x00E0001B

Expand All @@ -53,7 +53,7 @@ ED 0xFE400048, 0x20C18505
ED 0xFE40004C, 0x00110209
ED 0xFE400010, 0x00000087

WAIT 10, 0xFE40009C
WAIT 30, 0xFE40009C

ED 0xFE400084, 0x0000003F
EB 0xFE500000, 0x00
Expand Down Expand Up @@ -84,7 +84,7 @@ ED 0xE6150004, 0x80331050

WAIT 1, 0xFE40009C

ED 0xE6150354, 0x00000002
ED 0xFE400354, 0x01AD8002

LIST "SCIF0 - Serial port for earlyprintk"
EB 0xE6053098, 0x11
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sh/include/asm/sections.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <asm-generic/sections.h>

extern void __nosave_begin, __nosave_end;
extern long __nosave_begin, __nosave_end;
extern long __machvec_start, __machvec_end;
extern char __uncached_start, __uncached_end;
extern char _ebss[];
Expand Down
13 changes: 9 additions & 4 deletions trunk/arch/sh/kernel/cpu/sh4/setup-sh7750.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include <linux/io.h>
#include <linux/sh_timer.h>
#include <linux/serial_sci.h>
#include <asm/machtypes.h>
#include <generated/machtypes.h>

static struct resource rtc_resources[] = {
[0] = {
Expand Down Expand Up @@ -255,12 +255,17 @@ static struct platform_device *sh7750_early_devices[] __initdata = {

void __init plat_early_device_setup(void)
{
struct platform_device *dev[1];

if (mach_is_rts7751r2d()) {
scif_platform_data.scscr |= SCSCR_CKE1;
early_platform_add_devices(&scif_device, 1);
dev[0] = &scif_device;
early_platform_add_devices(dev, 1);
} else {
early_platform_add_devices(&sci_device, 1);
early_platform_add_devices(&scif_device, 1);
dev[0] = &sci_device;
early_platform_add_devices(dev, 1);
dev[0] = &scif_device;
early_platform_add_devices(dev, 1);
}

early_platform_add_devices(sh7750_early_devices,
Expand Down
10 changes: 10 additions & 0 deletions trunk/arch/sh/lib/delay.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
void __delay(unsigned long loops)
{
__asm__ __volatile__(
/*
* ST40-300 appears to have an issue with this code,
* normally taking two cycles each loop, as with all
* other SH variants. If however the branch and the
* delay slot straddle an 8 byte boundary, this increases
* to 3 cycles.
* This align directive ensures this doesn't occur.
*/
".balign 8\n\t"

"tst %0, %0\n\t"
"1:\t"
"bf/s 1b\n\t"
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/sh/mm/cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ void copy_user_highpage(struct page *to, struct page *from,
kunmap_atomic(vfrom, KM_USER0);
}

if (pages_do_alias((unsigned long)vto, vaddr & PAGE_MASK))
if (pages_do_alias((unsigned long)vto, vaddr & PAGE_MASK) ||
(vma->vm_flags & VM_EXEC))
__flush_purge_region(vto, PAGE_SIZE);

kunmap_atomic(vto, KM_USER1);
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/gpu/drm/nouveau/nouveau_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ nouveau_dma_init(struct nouveau_channel *chan)
return ret;

/* NV_MEMORY_TO_MEMORY_FORMAT requires a notifier object */
ret = nouveau_notifier_alloc(chan, NvNotify0, 32, &chan->m2mf_ntfy);
ret = nouveau_notifier_alloc(chan, NvNotify0, 32, 0xfd0, 0x1000,
&chan->m2mf_ntfy);
if (ret)
return ret;

Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/gpu/drm/nouveau/nouveau_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -852,7 +852,8 @@ extern const struct ttm_mem_type_manager_func nouveau_vram_manager;
extern int nouveau_notifier_init_channel(struct nouveau_channel *);
extern void nouveau_notifier_takedown_channel(struct nouveau_channel *);
extern int nouveau_notifier_alloc(struct nouveau_channel *, uint32_t handle,
int cout, uint32_t *offset);
int cout, uint32_t start, uint32_t end,
uint32_t *offset);
extern int nouveau_notifier_offset(struct nouveau_gpuobj *, uint32_t *);
extern int nouveau_ioctl_notifier_alloc(struct drm_device *, void *data,
struct drm_file *);
Expand Down
11 changes: 7 additions & 4 deletions trunk/drivers/gpu/drm/nouveau/nouveau_notifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,17 +96,19 @@ nouveau_notifier_gpuobj_dtor(struct drm_device *dev,

int
nouveau_notifier_alloc(struct nouveau_channel *chan, uint32_t handle,
int size, uint32_t *b_offset)
int size, uint32_t start, uint32_t end,
uint32_t *b_offset)
{
struct drm_device *dev = chan->dev;
struct nouveau_gpuobj *nobj = NULL;
struct drm_mm_node *mem;
uint32_t offset;
int target, ret;

mem = drm_mm_search_free(&chan->notifier_heap, size, 0, 0);
mem = drm_mm_search_free_in_range(&chan->notifier_heap, size, 0,
start, end, 0);
if (mem)
mem = drm_mm_get_block(mem, size, 0);
mem = drm_mm_get_block_range(mem, size, 0, start, end);
if (!mem) {
NV_ERROR(dev, "Channel %d notifier block full\n", chan->id);
return -ENOMEM;
Expand Down Expand Up @@ -177,7 +179,8 @@ nouveau_ioctl_notifier_alloc(struct drm_device *dev, void *data,
if (IS_ERR(chan))
return PTR_ERR(chan);

ret = nouveau_notifier_alloc(chan, na->handle, na->size, &na->offset);
ret = nouveau_notifier_alloc(chan, na->handle, na->size, 0, 0x1000,
&na->offset);
nouveau_channel_put(&chan);
return ret;
}
44 changes: 42 additions & 2 deletions trunk/fs/nfs/nfs4proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
#include <linux/sunrpc/bc_xprt.h>
#include <linux/xattr.h>
#include <linux/utsname.h>
#include <linux/mm.h>

#include "nfs4_fs.h"
#include "delegation.h"
Expand Down Expand Up @@ -3252,6 +3253,35 @@ static void buf_to_pages(const void *buf, size_t buflen,
}
}

static int buf_to_pages_noslab(const void *buf, size_t buflen,
struct page **pages, unsigned int *pgbase)
{
struct page *newpage, **spages;
int rc = 0;
size_t len;
spages = pages;

do {
len = min(PAGE_CACHE_SIZE, buflen);
newpage = alloc_page(GFP_KERNEL);

if (newpage == NULL)
goto unwind;
memcpy(page_address(newpage), buf, len);
buf += len;
buflen -= len;
*pages++ = newpage;
rc++;
} while (buflen != 0);

return rc;

unwind:
for(; rc > 0; rc--)
__free_page(spages[rc-1]);
return -ENOMEM;
}

struct nfs4_cached_acl {
int cached;
size_t len;
Expand Down Expand Up @@ -3420,13 +3450,23 @@ static int __nfs4_proc_set_acl(struct inode *inode, const void *buf, size_t bufl
.rpc_argp = &arg,
.rpc_resp = &res,
};
int ret;
int ret, i;

if (!nfs4_server_supports_acls(server))
return -EOPNOTSUPP;
i = buf_to_pages_noslab(buf, buflen, arg.acl_pages, &arg.acl_pgbase);
if (i < 0)
return i;
nfs_inode_return_delegation(inode);
buf_to_pages(buf, buflen, arg.acl_pages, &arg.acl_pgbase);
ret = nfs4_call_sync(server, &msg, &arg, &res, 1);

/*
* Free each page after tx, so the only ref left is
* held by the network stack
*/
for (; i > 0; i--)
put_page(pages[i-1]);

/*
* Acl update can result in inode attribute update.
* so mark the attribute cache invalid.
Expand Down
3 changes: 0 additions & 3 deletions trunk/include/linux/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,8 @@

extern long arch_ptrace(struct task_struct *child, long request,
unsigned long addr, unsigned long data);
extern int ptrace_traceme(void);
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
extern int ptrace_attach(struct task_struct *tsk);
extern int ptrace_detach(struct task_struct *, unsigned int);
extern void ptrace_disable(struct task_struct *);
extern int ptrace_check_attach(struct task_struct *task, int kill);
extern int ptrace_request(struct task_struct *child, long request,
Expand Down
6 changes: 3 additions & 3 deletions trunk/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ bool ptrace_may_access(struct task_struct *task, unsigned int mode)
return !err;
}

int ptrace_attach(struct task_struct *task)
static int ptrace_attach(struct task_struct *task)
{
int retval;

Expand Down Expand Up @@ -219,7 +219,7 @@ int ptrace_attach(struct task_struct *task)
* Performs checks and sets PT_PTRACED.
* Should be used by all ptrace implementations for PTRACE_TRACEME.
*/
int ptrace_traceme(void)
static int ptrace_traceme(void)
{
int ret = -EPERM;

Expand Down Expand Up @@ -293,7 +293,7 @@ static bool __ptrace_detach(struct task_struct *tracer, struct task_struct *p)
return false;
}

int ptrace_detach(struct task_struct *child, unsigned int data)
static int ptrace_detach(struct task_struct *child, unsigned int data)
{
bool dead = false;

Expand Down

0 comments on commit 5069c36

Please sign in to comment.