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

Commit a73c87bf authored by Vitaly Bordug's avatar Vitaly Bordug Committed by Paul Mackerras
Browse files

[PATCH] ppc32: odd fixes and improvements in ppc_sys



This consists of offsets fix in ..._devices.c, and update of
ppc_sys_fixup_mem_resource() function to prevent subsequent fixups

Signed-off-by: default avatarVitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 2833c28a
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -170,12 +170,18 @@ struct platform_device ppc_sys_platform_devices[] = {
	[MPC8xx_CPM_SMC1] = {
		.name = "fsl-cpm-smc",
		.id	= 1,
		.num_resources	= 2,
		.num_resources	= 3,
		.resource = (struct resource[]) {
			{
				.name	= "regs",
				.start	= 0xa82,
				.end	= 0xa91,
				.start	= 0xa80,
				.end	= 0xa8f,
				.flags	= IORESOURCE_MEM,
			},
			{
				.name	= "pram",
				.start	= 0x3e80,
				.end	= 0x3ebf,
				.flags	= IORESOURCE_MEM,
			},
			{
@@ -189,13 +195,20 @@ struct platform_device ppc_sys_platform_devices[] = {
	[MPC8xx_CPM_SMC2] = {
		.name = "fsl-cpm-smc",
		.id	= 2,
		.num_resources	= 2,
		.num_resources	= 3,
		.resource = (struct resource[]) {
			{
				.name	= "regs",
				.start	= 0xa92,
				.end	= 0xaa1,
				.start	= 0xa90,
				.end	= 0xa9f,
				.flags	= IORESOURCE_MEM,
			},
			{
 				.name	= "pram",
 				.start	= 0x3f80,
 				.end	= 0x3fbf,
 				.flags	= IORESOURCE_MEM,

			},
			{
				.name	= "interrupt",
+3 −1
Original line number Diff line number Diff line
@@ -109,9 +109,11 @@ ppc_sys_fixup_mem_resource(struct platform_device *pdev, phys_addr_t paddr)
	int i;
	for (i = 0; i < pdev->num_resources; i++) {
		struct resource *r = &pdev->resource[i];
		if ((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) {
		if (((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) && 
			((r->flags & PPC_SYS_IORESOURCE_FIXUPPED) != PPC_SYS_IORESOURCE_FIXUPPED)) {
			r->start += paddr;
			r->end += paddr;
			r->flags |= PPC_SYS_IORESOURCE_FIXUPPED;
		}
	}
}
+4 −4
Original line number Diff line number Diff line
@@ -113,13 +113,13 @@ struct ppc_sys_spec ppc_sys_specs[] = {
		.ppc_sys_name	= "8248",
		.mask		= 0x0000ff00,
		.value		= 0x00000c00,
		.num_devices	= 11,
		.num_devices	= 12,
		.device_list = (enum ppc_sys_devices[])
		{
			MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
			MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
			MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
			MPC82xx_CPM_USB, MPC82xx_SEC1,
			MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
			MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
			MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
		},
	},
	{
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@
#error "need definition of ppc_sys_devices"
#endif

#define PPC_SYS_IORESOURCE_FIXUPPED	0x00000001	

struct ppc_sys_spec {
	/* PPC sys is matched via (ID & mask) == value, id could be
	 * PVR, SVR, IMMR, * etc. */