mirror of https://gitee.com/openkylin/linux.git
Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: hwspinlock: depend on OMAP4 ARM: OMAP2+: Fix warnings for GPMC interrupt OMAP4: PandaBoard: remove unused power regulators arm: mach-omap2: omap_l3_smx: fix irq handler setup arm: mach-omap2: devices: fix omap3_l3_init() return value
This commit is contained in:
commit
17c6dd8144
|
@ -285,19 +285,6 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct regulator_init_data omap4_panda_vaux1 = {
|
||||
.constraints = {
|
||||
.min_uV = 1000000,
|
||||
.max_uV = 3000000,
|
||||
.apply_uV = true,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||
| REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_init_data omap4_panda_vaux2 = {
|
||||
.constraints = {
|
||||
.min_uV = 1200000,
|
||||
|
@ -353,19 +340,6 @@ static struct regulator_init_data omap4_panda_vpp = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct regulator_init_data omap4_panda_vusim = {
|
||||
.constraints = {
|
||||
.min_uV = 1200000,
|
||||
.max_uV = 2900000,
|
||||
.apply_uV = true,
|
||||
.valid_modes_mask = REGULATOR_MODE_NORMAL
|
||||
| REGULATOR_MODE_STANDBY,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
||||
| REGULATOR_CHANGE_MODE
|
||||
| REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
};
|
||||
|
||||
static struct regulator_init_data omap4_panda_vana = {
|
||||
.constraints = {
|
||||
.min_uV = 2100000,
|
||||
|
@ -424,12 +398,10 @@ static struct twl4030_platform_data omap4_panda_twldata = {
|
|||
/* Regulators */
|
||||
.vmmc = &omap4_panda_vmmc,
|
||||
.vpp = &omap4_panda_vpp,
|
||||
.vusim = &omap4_panda_vusim,
|
||||
.vana = &omap4_panda_vana,
|
||||
.vcxio = &omap4_panda_vcxio,
|
||||
.vdac = &omap4_panda_vdac,
|
||||
.vusb = &omap4_panda_vusb,
|
||||
.vaux1 = &omap4_panda_vaux1,
|
||||
.vaux2 = &omap4_panda_vaux2,
|
||||
.vaux3 = &omap4_panda_vaux3,
|
||||
.clk32kg = &omap4_panda_clk32kg,
|
||||
|
|
|
@ -66,7 +66,7 @@ static int __init omap3_l3_init(void)
|
|||
|
||||
WARN(IS_ERR(od), "could not build omap_device for %s\n", oh_name);
|
||||
|
||||
return PTR_ERR(od);
|
||||
return IS_ERR(od) ? PTR_ERR(od) : 0;
|
||||
}
|
||||
postcore_initcall(omap3_l3_init);
|
||||
|
||||
|
|
|
@ -693,6 +693,7 @@ static int __init gpmc_init(void)
|
|||
{
|
||||
u32 l, irq;
|
||||
int cs, ret = -EINVAL;
|
||||
int gpmc_irq;
|
||||
char *ck = NULL;
|
||||
|
||||
if (cpu_is_omap24xx()) {
|
||||
|
@ -701,12 +702,15 @@ static int __init gpmc_init(void)
|
|||
l = OMAP2420_GPMC_BASE;
|
||||
else
|
||||
l = OMAP34XX_GPMC_BASE;
|
||||
gpmc_irq = INT_34XX_GPMC_IRQ;
|
||||
} else if (cpu_is_omap34xx()) {
|
||||
ck = "gpmc_fck";
|
||||
l = OMAP34XX_GPMC_BASE;
|
||||
gpmc_irq = INT_34XX_GPMC_IRQ;
|
||||
} else if (cpu_is_omap44xx()) {
|
||||
ck = "gpmc_ck";
|
||||
l = OMAP44XX_GPMC_BASE;
|
||||
gpmc_irq = OMAP44XX_IRQ_GPMC;
|
||||
}
|
||||
|
||||
if (WARN_ON(!ck))
|
||||
|
@ -739,16 +743,17 @@ static int __init gpmc_init(void)
|
|||
/* initalize the irq_chained */
|
||||
irq = OMAP_GPMC_IRQ_BASE;
|
||||
for (cs = 0; cs < GPMC_CS_NUM; cs++) {
|
||||
set_irq_handler(irq, handle_simple_irq);
|
||||
set_irq_chip_and_handler(irq, &dummy_irq_chip,
|
||||
handle_simple_irq);
|
||||
set_irq_flags(irq, IRQF_VALID);
|
||||
irq++;
|
||||
}
|
||||
|
||||
ret = request_irq(INT_34XX_GPMC_IRQ,
|
||||
ret = request_irq(gpmc_irq,
|
||||
gpmc_handle_irq, IRQF_SHARED, "gpmc", gpmc_base);
|
||||
if (ret)
|
||||
pr_err("gpmc: irq-%d could not claim: err %d\n",
|
||||
INT_34XX_GPMC_IRQ, ret);
|
||||
gpmc_irq, ret);
|
||||
return ret;
|
||||
}
|
||||
postcore_initcall(gpmc_init);
|
||||
|
@ -757,8 +762,6 @@ static irqreturn_t gpmc_handle_irq(int irq, void *dev)
|
|||
{
|
||||
u8 cs;
|
||||
|
||||
if (irq != INT_34XX_GPMC_IRQ)
|
||||
return IRQ_HANDLED;
|
||||
/* check cs to invoke the irq */
|
||||
cs = ((gpmc_read_reg(GPMC_PREFETCH_CONFIG1)) >> CS_NUM_SHIFT) & 0x7;
|
||||
if (OMAP_GPMC_IRQ_BASE+cs <= OMAP_GPMC_IRQ_END)
|
||||
|
|
|
@ -226,7 +226,6 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
|
|||
struct omap3_l3 *l3;
|
||||
struct resource *res;
|
||||
int ret;
|
||||
int irq;
|
||||
|
||||
l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
|
||||
if (!l3) {
|
||||
|
@ -249,18 +248,17 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
|
|||
goto err2;
|
||||
}
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
ret = request_irq(irq, omap3_l3_app_irq,
|
||||
l3->debug_irq = platform_get_irq(pdev, 0);
|
||||
ret = request_irq(l3->debug_irq, omap3_l3_app_irq,
|
||||
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
||||
"l3-debug-irq", l3);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "couldn't request debug irq\n");
|
||||
goto err3;
|
||||
}
|
||||
l3->debug_irq = irq;
|
||||
|
||||
irq = platform_get_irq(pdev, 1);
|
||||
ret = request_irq(irq, omap3_l3_app_irq,
|
||||
l3->app_irq = platform_get_irq(pdev, 1);
|
||||
ret = request_irq(l3->app_irq, omap3_l3_app_irq,
|
||||
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
||||
"l3-app-irq", l3);
|
||||
|
||||
|
@ -269,7 +267,6 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
|
|||
goto err4;
|
||||
}
|
||||
|
||||
l3->app_irq = irq;
|
||||
goto err0;
|
||||
|
||||
err4:
|
||||
|
|
|
@ -416,7 +416,7 @@
|
|||
|
||||
/* GPMC related */
|
||||
#define OMAP_GPMC_IRQ_BASE (TWL_IRQ_END)
|
||||
#define OMAP_GPMC_NR_IRQS 7
|
||||
#define OMAP_GPMC_NR_IRQS 8
|
||||
#define OMAP_GPMC_IRQ_END (OMAP_GPMC_IRQ_BASE + OMAP_GPMC_NR_IRQS)
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
config HWSPINLOCK
|
||||
tristate "Generic Hardware Spinlock framework"
|
||||
depends on ARCH_OMAP4
|
||||
help
|
||||
Say y here to support the generic hardware spinlock framework.
|
||||
You only need to enable this if you have hardware spinlock module
|
||||
|
|
Loading…
Reference in New Issue