Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f3bd0f2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
  dmaengine: shdma: fix a regression: initialise DMA channels for memcpy
  dmaengine: shdma: Fix up fallout from runtime PM changes.
  Revert "clocksource: sh_cmt: Runtime PM support"
  Revert "clocksource: sh_tmu: Runtime PM support"
  sh: Fix up asm-generic/ptrace.h fallout.
  sh64: Move from P1SEG to CAC_ADDR for consistent sync.
  sh64: asm/pgtable.h needs asm/mmu.h
  sh: asm/tlb.h needs linux/swap.h
  sh: mark DMA slave ID 0 as invalid
  sh: Update shmin to reflect PIO dependency.
  sh: arch/sh/kernel/process_32.c needs linux/prefetch.h.
  sh: add MMCIF runtime PM support on ecovec
  sh: switch ap325rxa to dynamically manage the platform camera
parents bb3d6bf1 a1b2cc50
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ config ARCH_HAS_CPU_IDLE_WAIT

config NO_IOPORT
	def_bool !PCI
	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV
	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN

config IO_TRAPPED
	bool
+13 −19
Original line number Diff line number Diff line
@@ -359,37 +359,31 @@ static struct soc_camera_link camera_link = {
	.priv		= &camera_info,
};

static void dummy_release(struct device *dev)
static struct platform_device *camera_device;

static void ap325rxa_camera_release(struct device *dev)
{
	soc_camera_platform_release(&camera_device);
}

static struct platform_device camera_device = {
	.name		= "soc_camera_platform",
	.dev		= {
		.platform_data	= &camera_info,
		.release	= dummy_release,
	},
};

static int ap325rxa_camera_add(struct soc_camera_link *icl,
			       struct device *dev)
{
	if (icl != &camera_link || camera_probe() <= 0)
		return -ENODEV;
	int ret = soc_camera_platform_add(icl, dev, &camera_device, &camera_link,
					  ap325rxa_camera_release, 0);
	if (ret < 0)
		return ret;

	camera_info.dev = dev;
	ret = camera_probe();
	if (ret < 0)
		soc_camera_platform_del(icl, camera_device, &camera_link);

	return platform_device_register(&camera_device);
	return ret;
}

static void ap325rxa_camera_del(struct soc_camera_link *icl)
{
	if (icl != &camera_link)
		return;

	platform_device_unregister(&camera_device);
	memset(&camera_device.dev.kobj, 0,
	       sizeof(camera_device.dev.kobj));
	soc_camera_platform_del(icl, camera_device, &camera_link);
}
#endif /* CONFIG_I2C */

+3 −0
Original line number Diff line number Diff line
@@ -885,6 +885,9 @@ static struct platform_device sh_mmcif_device = {
	},
	.num_resources	= ARRAY_SIZE(sh_mmcif_resources),
	.resource	= sh_mmcif_resources,
	.archdata = {
		.hwblk_id = HWBLK_MMC,
	},
};
#endif

+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#include <asm/pgtable-2level.h>
#endif
#include <asm/page.h>
#include <asm/mmu.h>

#ifndef __ASSEMBLY__
#include <asm/addrspace.h>
+4 −2
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@

#define user_mode(regs)			(((regs)->sr & 0x40000000)==0)
#define kernel_stack_pointer(_regs)	((unsigned long)(_regs)->regs[15])

#define GET_FP(regs)	((regs)->regs[14])
#define GET_USP(regs)	((regs)->regs[15])

extern void show_regs(struct pt_regs *);
@@ -131,7 +133,7 @@ extern void ptrace_triggered(struct perf_event *bp, int nmi,

static inline unsigned long profile_pc(struct pt_regs *regs)
{
	unsigned long pc = instruction_pointer(regs);
	unsigned long pc = regs->pc;

	if (virt_addr_uncached(pc))
		return CAC_ADDR(pc);
Loading