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;
|
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 = {
|
static struct regulator_init_data omap4_panda_vaux2 = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.min_uV = 1200000,
|
.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 = {
|
static struct regulator_init_data omap4_panda_vana = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.min_uV = 2100000,
|
.min_uV = 2100000,
|
||||||
@ -424,12 +398,10 @@ static struct twl4030_platform_data omap4_panda_twldata = {
|
|||||||
/* Regulators */
|
/* Regulators */
|
||||||
.vmmc = &omap4_panda_vmmc,
|
.vmmc = &omap4_panda_vmmc,
|
||||||
.vpp = &omap4_panda_vpp,
|
.vpp = &omap4_panda_vpp,
|
||||||
.vusim = &omap4_panda_vusim,
|
|
||||||
.vana = &omap4_panda_vana,
|
.vana = &omap4_panda_vana,
|
||||||
.vcxio = &omap4_panda_vcxio,
|
.vcxio = &omap4_panda_vcxio,
|
||||||
.vdac = &omap4_panda_vdac,
|
.vdac = &omap4_panda_vdac,
|
||||||
.vusb = &omap4_panda_vusb,
|
.vusb = &omap4_panda_vusb,
|
||||||
.vaux1 = &omap4_panda_vaux1,
|
|
||||||
.vaux2 = &omap4_panda_vaux2,
|
.vaux2 = &omap4_panda_vaux2,
|
||||||
.vaux3 = &omap4_panda_vaux3,
|
.vaux3 = &omap4_panda_vaux3,
|
||||||
.clk32kg = &omap4_panda_clk32kg,
|
.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);
|
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);
|
postcore_initcall(omap3_l3_init);
|
||||||
|
|
||||||
|
@ -693,6 +693,7 @@ static int __init gpmc_init(void)
|
|||||||
{
|
{
|
||||||
u32 l, irq;
|
u32 l, irq;
|
||||||
int cs, ret = -EINVAL;
|
int cs, ret = -EINVAL;
|
||||||
|
int gpmc_irq;
|
||||||
char *ck = NULL;
|
char *ck = NULL;
|
||||||
|
|
||||||
if (cpu_is_omap24xx()) {
|
if (cpu_is_omap24xx()) {
|
||||||
@ -701,12 +702,15 @@ static int __init gpmc_init(void)
|
|||||||
l = OMAP2420_GPMC_BASE;
|
l = OMAP2420_GPMC_BASE;
|
||||||
else
|
else
|
||||||
l = OMAP34XX_GPMC_BASE;
|
l = OMAP34XX_GPMC_BASE;
|
||||||
|
gpmc_irq = INT_34XX_GPMC_IRQ;
|
||||||
} else if (cpu_is_omap34xx()) {
|
} else if (cpu_is_omap34xx()) {
|
||||||
ck = "gpmc_fck";
|
ck = "gpmc_fck";
|
||||||
l = OMAP34XX_GPMC_BASE;
|
l = OMAP34XX_GPMC_BASE;
|
||||||
|
gpmc_irq = INT_34XX_GPMC_IRQ;
|
||||||
} else if (cpu_is_omap44xx()) {
|
} else if (cpu_is_omap44xx()) {
|
||||||
ck = "gpmc_ck";
|
ck = "gpmc_ck";
|
||||||
l = OMAP44XX_GPMC_BASE;
|
l = OMAP44XX_GPMC_BASE;
|
||||||
|
gpmc_irq = OMAP44XX_IRQ_GPMC;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WARN_ON(!ck))
|
if (WARN_ON(!ck))
|
||||||
@ -739,16 +743,17 @@ static int __init gpmc_init(void)
|
|||||||
/* initalize the irq_chained */
|
/* initalize the irq_chained */
|
||||||
irq = OMAP_GPMC_IRQ_BASE;
|
irq = OMAP_GPMC_IRQ_BASE;
|
||||||
for (cs = 0; cs < GPMC_CS_NUM; cs++) {
|
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);
|
set_irq_flags(irq, IRQF_VALID);
|
||||||
irq++;
|
irq++;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request_irq(INT_34XX_GPMC_IRQ,
|
ret = request_irq(gpmc_irq,
|
||||||
gpmc_handle_irq, IRQF_SHARED, "gpmc", gpmc_base);
|
gpmc_handle_irq, IRQF_SHARED, "gpmc", gpmc_base);
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_err("gpmc: irq-%d could not claim: err %d\n",
|
pr_err("gpmc: irq-%d could not claim: err %d\n",
|
||||||
INT_34XX_GPMC_IRQ, ret);
|
gpmc_irq, ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
postcore_initcall(gpmc_init);
|
postcore_initcall(gpmc_init);
|
||||||
@ -757,8 +762,6 @@ static irqreturn_t gpmc_handle_irq(int irq, void *dev)
|
|||||||
{
|
{
|
||||||
u8 cs;
|
u8 cs;
|
||||||
|
|
||||||
if (irq != INT_34XX_GPMC_IRQ)
|
|
||||||
return IRQ_HANDLED;
|
|
||||||
/* check cs to invoke the irq */
|
/* check cs to invoke the irq */
|
||||||
cs = ((gpmc_read_reg(GPMC_PREFETCH_CONFIG1)) >> CS_NUM_SHIFT) & 0x7;
|
cs = ((gpmc_read_reg(GPMC_PREFETCH_CONFIG1)) >> CS_NUM_SHIFT) & 0x7;
|
||||||
if (OMAP_GPMC_IRQ_BASE+cs <= OMAP_GPMC_IRQ_END)
|
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 omap3_l3 *l3;
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
int ret;
|
int ret;
|
||||||
int irq;
|
|
||||||
|
|
||||||
l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
|
l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
|
||||||
if (!l3) {
|
if (!l3) {
|
||||||
@ -249,18 +248,17 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
|
|||||||
goto err2;
|
goto err2;
|
||||||
}
|
}
|
||||||
|
|
||||||
irq = platform_get_irq(pdev, 0);
|
l3->debug_irq = platform_get_irq(pdev, 0);
|
||||||
ret = request_irq(irq, omap3_l3_app_irq,
|
ret = request_irq(l3->debug_irq, omap3_l3_app_irq,
|
||||||
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
||||||
"l3-debug-irq", l3);
|
"l3-debug-irq", l3);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "couldn't request debug irq\n");
|
dev_err(&pdev->dev, "couldn't request debug irq\n");
|
||||||
goto err3;
|
goto err3;
|
||||||
}
|
}
|
||||||
l3->debug_irq = irq;
|
|
||||||
|
|
||||||
irq = platform_get_irq(pdev, 1);
|
l3->app_irq = platform_get_irq(pdev, 1);
|
||||||
ret = request_irq(irq, omap3_l3_app_irq,
|
ret = request_irq(l3->app_irq, omap3_l3_app_irq,
|
||||||
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
IRQF_DISABLED | IRQF_TRIGGER_RISING,
|
||||||
"l3-app-irq", l3);
|
"l3-app-irq", l3);
|
||||||
|
|
||||||
@ -269,7 +267,6 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
|
|||||||
goto err4;
|
goto err4;
|
||||||
}
|
}
|
||||||
|
|
||||||
l3->app_irq = irq;
|
|
||||||
goto err0;
|
goto err0;
|
||||||
|
|
||||||
err4:
|
err4:
|
||||||
|
@ -416,7 +416,7 @@
|
|||||||
|
|
||||||
/* GPMC related */
|
/* GPMC related */
|
||||||
#define OMAP_GPMC_IRQ_BASE (TWL_IRQ_END)
|
#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)
|
#define OMAP_GPMC_IRQ_END (OMAP_GPMC_IRQ_BASE + OMAP_GPMC_NR_IRQS)
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
config HWSPINLOCK
|
config HWSPINLOCK
|
||||||
tristate "Generic Hardware Spinlock framework"
|
tristate "Generic Hardware Spinlock framework"
|
||||||
|
depends on ARCH_OMAP4
|
||||||
help
|
help
|
||||||
Say y here to support the generic hardware spinlock framework.
|
Say y here to support the generic hardware spinlock framework.
|
||||||
You only need to enable this if you have hardware spinlock module
|
You only need to enable this if you have hardware spinlock module
|
||||||
|
Loading…
Reference in New Issue
Block a user