Skip to content

Commit

Permalink
Merge tag 'imx-fixes-3.8-2' of git://git.linaro.org/people/shawnguo/l…
Browse files Browse the repository at this point in the history
…inux-2.6 into fixes

From Shawn Guo:
It's the second batch of fixes for 3.8, which includes one fixing for
!CONFIG_SMP build, two patches fixing broken imxfb driver caused by
multiplatform conversion, and a couple of pm/hotplug fixes.

* tag 'imx-fixes-3.8-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
  ARM: imx: correct low-power mode setting
  ARM: imx: disable cpu in .cpu_kill hook
  video: imxfb: fix imxfb_info configuration order
  ARM: imx: platform-imx-fb: modifies platform device name
  ARM: imx: fix build error with !CONFIG_SMP

Signed-off-by: Olof Johansson <olof@lixom.net>
  • Loading branch information
Olof Johansson committed Jan 15, 2013
2 parents 72533b7 + 83ae209 commit 6960d46
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 6 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-imx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -853,6 +853,7 @@ config SOC_IMX6Q
select HAVE_CAN_FLEXCAN if CAN
select HAVE_IMX_GPC
select HAVE_IMX_MMDC
select HAVE_IMX_SRC
select HAVE_SMP
select MFD_SYSCON
select PINCTRL
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-imx/clk-imx6q.c
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,9 @@ int __init mx6q_clocks_init(void)
for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
clk_prepare_enable(clk[clks_init_on[i]]);

/* Set initial power mode */
imx6q_set_lpm(WAIT_CLOCKED);

np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt");
base = of_iomap(np, 0);
WARN_ON(!base);
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-imx/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ extern int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode);
extern void imx6q_clock_map_io(void);

extern void imx_cpu_die(unsigned int cpu);
extern int imx_cpu_kill(unsigned int cpu);

#ifdef CONFIG_PM
extern void imx6q_pm_init(void);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-imx/devices/platform-imx-fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ struct platform_device *__init imx_add_imx_fb(
.flags = IORESOURCE_IRQ,
},
};
return imx_add_platform_device_dmamask("imx-fb", 0,
return imx_add_platform_device_dmamask(data->devid, 0,
res, ARRAY_SIZE(res),
pdata, sizeof(*pdata), DMA_BIT_MASK(32));
}
10 changes: 6 additions & 4 deletions arch/arm/mach-imx/hotplug.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,11 @@ static inline void cpu_enter_lowpower(void)
void imx_cpu_die(unsigned int cpu)
{
cpu_enter_lowpower();
imx_enable_cpu(cpu, false);
cpu_do_idle();
}

/* spin here until hardware takes it down */
while (1)
;
int imx_cpu_kill(unsigned int cpu)
{
imx_enable_cpu(cpu, false);
return 1;
}
1 change: 1 addition & 0 deletions arch/arm/mach-imx/platsmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,5 +92,6 @@ struct smp_operations imx_smp_ops __initdata = {
.smp_boot_secondary = imx_boot_secondary,
#ifdef CONFIG_HOTPLUG_CPU
.cpu_die = imx_cpu_die,
.cpu_kill = imx_cpu_kill,
#endif
};
1 change: 1 addition & 0 deletions arch/arm/mach-imx/pm-imx6q.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ static int imx6q_pm_enter(suspend_state_t state)
cpu_suspend(0, imx6q_suspend_finish);
imx_smp_prepare();
imx_gpc_post_resume();
imx6q_set_lpm(WAIT_CLOCKED);
break;
default:
return -EINVAL;
Expand Down
3 changes: 2 additions & 1 deletion drivers/video/imxfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,8 @@ static int __init imxfb_init_fbinfo(struct platform_device *pdev)

memset(fbi, 0, sizeof(struct imxfb_info));

fbi->devtype = pdev->id_entry->driver_data;

strlcpy(info->fix.id, IMX_NAME, sizeof(info->fix.id));

info->fix.type = FB_TYPE_PACKED_PIXELS;
Expand Down Expand Up @@ -789,7 +791,6 @@ static int __init imxfb_probe(struct platform_device *pdev)
return -ENOMEM;

fbi = info->par;
fbi->devtype = pdev->id_entry->driver_data;

if (!fb_mode)
fb_mode = pdata->mode[0].mode.name;
Expand Down

0 comments on commit 6960d46

Please sign in to comment.