* [PATCH 00/26] ARM: pxa specific randconfig fixes
@ 2011-10-01 20:03 Arnd Bergmann
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
` (25 more replies)
0 siblings, 26 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi Eric (and others),
Here are lots of tiny bug fixes (and a few bigger ones)
for the pxa platform that I found by running 'make randconfig'.
Could you take a look at these and see if they make sense to
you? The majority is just for corner cases that we are not
generally interested in, except for making sure that
randconfig works, but some are regressions from a previously
working state or are for relevant configurations.
It would be nice if you could either give me an ok to put
all off them into the arm-soc tree for the coming merge window
or cherry-pick the ones that are good and send them back
to me in a pull request.
The series is also available in git at
git pull git://git.linaro.org/people/arnd/arm-soc.git randconfig/pxa
but I haven't added it to the for-next branch for now.
Arnd
Arnd Bergmann (26):
usb/gadget/pxa25x: is_vbus_present is gone
sound/pxa-zylonite: use a valid device for dev_err()
scsi/mvsas: use proper namespace for IRQ_* symbols
net/pxa168_eth: add missing include of interrupt.h
ARM: pxa: make zylonite_pxa*_init declaration match code
ARM: pxa: add missing header inclusions
ARM: pxa: mbxfb: disable broken debugfs code
ARM: pxa: move z2 to generic cpu_suspend
ARM: pxa: export symbols from pxa3xx-ulpi
ARM: pxa: allow selecting just one of TREO680/CENTRO
ARM: pxa: allow building palm27x without pxafb
ARM: pxa: pxa95x/saarb depends on pxa3xx code
ARM: pxa: use correct __iomem annotations
mtd: nand_h1900 never worked
irda/ficp: only works on some pxa models
ARM: pxa: CPU_PJ4 requires IWMMXT
ARM: pxa: pxa95x is incompatible with earlier pxa
ARM: pxa: MTD_XIP is not actually working any more
ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
ARM: pxa: select FB_PXA on saar and tevorevb
ARM: pxa: select POWER_SUPPLY on raumfeld
ARM: pxa: only select SMC91x on xcep when networking is enabled
ARM: pxa: viper: select I2C_GPIO only when I2C is on
ARM: pxa: centro and treo680 need palm27x
ARM: pxa: eseries does not require FB
ARM: pxa: sharpsl pm needs SPI
arch/arm/Kconfig | 4 +-
arch/arm/include/asm/hardware/it8152.h | 2 +-
arch/arm/mach-mmp/clock.h | 8 ++--
arch/arm/mach-mmp/common.c | 4 +-
arch/arm/mach-mmp/include/mach/addr-map.h | 10 ++++-
arch/arm/mach-mmp/mmp2.c | 3 +-
arch/arm/mach-pxa/Kconfig | 48 ++++++++++++++++++------
arch/arm/mach-pxa/Makefile | 2 +-
arch/arm/mach-pxa/balloon3.c | 10 ++--
arch/arm/mach-pxa/cm-x2xx-pci.c | 2 +-
arch/arm/mach-pxa/cm-x2xx.c | 4 +-
arch/arm/mach-pxa/include/mach/addr-map.h | 8 ++--
arch/arm/mach-pxa/include/mach/balloon3.h | 2 +-
arch/arm/mach-pxa/include/mach/hardware.h | 9 ++--
arch/arm/mach-pxa/include/mach/lpd270.h | 4 +-
arch/arm/mach-pxa/include/mach/mtd-xip.h | 1 -
arch/arm/mach-pxa/include/mach/palm27x.h | 2 +-
arch/arm/mach-pxa/include/mach/palmtx.h | 6 +-
arch/arm/mach-pxa/include/mach/smemc.h | 2 +-
arch/arm/mach-pxa/include/mach/zeus.h | 4 +-
arch/arm/mach-pxa/include/mach/zylonite.h | 4 +-
arch/arm/mach-pxa/irq.c | 5 +-
arch/arm/mach-pxa/lpd270.c | 2 +-
arch/arm/mach-pxa/palmtreo.c | 8 ++++
arch/arm/mach-pxa/palmtx.c | 8 ++--
arch/arm/mach-pxa/pxa25x.c | 2 +-
arch/arm/mach-pxa/pxa27x.c | 2 +-
arch/arm/mach-pxa/pxa3xx-ulpi.c | 2 +
arch/arm/mach-pxa/pxa3xx.c | 2 +-
arch/arm/mach-pxa/saarb.c | 2 +
arch/arm/mach-pxa/z2.c | 3 +-
arch/arm/mach-pxa/zeus.c | 8 ++--
arch/arm/plat-pxa/gpio.c | 2 +-
arch/arm/plat-pxa/include/plat/mfp.h | 2 +-
arch/arm/plat-pxa/mfp.c | 4 +-
drivers/mtd/nand/Kconfig | 2 +-
drivers/net/irda/Kconfig | 2 +-
drivers/net/pxa168_eth.c | 1 +
drivers/pcmcia/pxa2xx_balloon3.c | 2 +-
drivers/scsi/mvsas/mv_94xx.c | 10 ++--
drivers/scsi/mvsas/mv_94xx.h | 58 ++++++++++++++--------------
drivers/usb/gadget/pxa25x_udc.h | 8 +---
drivers/video/Kconfig | 2 +-
drivers/video/mbx/Makefile | 2 +-
drivers/video/mbx/mbxfb.c | 6 +-
sound/soc/pxa/zylonite.c | 8 ++--
46 files changed, 166 insertions(+), 126 deletions(-)
--
1.7.5.4
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-06 12:19 ` Felipe Balbi
2011-10-07 2:27 ` Eric Miao
2011-10-01 20:03 ` [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err() Arnd Bergmann
` (24 subsequent siblings)
25 siblings, 2 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
A recent commit obsoleted the is_vbus_present function, so
we must not use it any more.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Felipe Balbi <balbi@ti.com>
---
drivers/usb/gadget/pxa25x_udc.h | 8 +-------
1 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/drivers/usb/gadget/pxa25x_udc.h b/drivers/usb/gadget/pxa25x_udc.h
index f572c56..6119900 100644
--- a/drivers/usb/gadget/pxa25x_udc.h
+++ b/drivers/usb/gadget/pxa25x_udc.h
@@ -161,8 +161,6 @@ static struct pxa25x_udc *the_controller;
#ifdef DEBUG
-static int is_vbus_present(void);
-
static const char *state_name[] = {
"EP0_IDLE",
"EP0_IN_DATA_PHASE", "EP0_OUT_DATA_PHASE",
@@ -214,8 +212,7 @@ dump_state(struct pxa25x_udc *dev)
u32 tmp;
unsigned i;
- DMSG("%s %s, uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n",
- is_vbus_present() ? "host " : "disconnected",
+ DMSG("%s, uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n",
state_name[dev->ep0state],
UICR1, UICR0, USIR1, USIR0, UFNRH, UFNRL);
dump_udccr("udccr");
@@ -232,9 +229,6 @@ dump_state(struct pxa25x_udc *dev)
} else
DMSG("ep0 driver '%s'\n", dev->driver->driver.name);
- if (!is_vbus_present())
- return;
-
dump_udccs0 ("udccs0");
DMSG("ep0 IN %lu/%lu, OUT %lu/%lu\n",
dev->stats.write.bytes, dev->stats.write.ops,
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-02 18:16 ` Mark Brown
2011-10-02 18:24 ` Mark Brown
2011-10-01 20:03 ` [PATCH 03/26] scsi/mvsas: use proper namespace for IRQ_* symbols Arnd Bergmann
` (23 subsequent siblings)
25 siblings, 2 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
A recent conversion has introduced references to &pdev->dev, which does
not actually exist in all the contexts it's used in.
Replace this with card->dev where necessary, in order to let
the driver build again.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/pxa/zylonite.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c
index b644575..2b8350b 100644
--- a/sound/soc/pxa/zylonite.c
+++ b/sound/soc/pxa/zylonite.c
@@ -196,20 +196,20 @@ static int zylonite_probe(struct snd_soc_card *card)
if (clk_pout) {
pout = clk_get(NULL, "CLK_POUT");
if (IS_ERR(pout)) {
- dev_err(&pdev->dev, "Unable to obtain CLK_POUT: %ld\n",
+ dev_err(card->dev, "Unable to obtain CLK_POUT: %ld\n",
PTR_ERR(pout));
return PTR_ERR(pout);
}
ret = clk_enable(pout);
if (ret != 0) {
- dev_err(&pdev->dev, "Unable to enable CLK_POUT: %d\n",
+ dev_err(card->dev, "Unable to enable CLK_POUT: %d\n",
ret);
clk_put(pout);
return ret;
}
- dev_dbg(&pdev->dev, "MCLK enabled at %luHz\n",
+ dev_dbg(card->dev, "MCLK enabled at %luHz\n",
clk_get_rate(pout));
}
@@ -241,7 +241,7 @@ static int zylonite_resume_pre(struct snd_soc_card *card)
if (clk_pout) {
ret = clk_enable(pout);
if (ret != 0)
- dev_err(&pdev->dev, "Unable to enable CLK_POUT: %d\n",
+ dev_err(card->dev, "Unable to enable CLK_POUT: %d\n",
ret);
}
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 03/26] scsi/mvsas: use proper namespace for IRQ_* symbols
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
2011-10-01 20:03 ` [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err() Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h Arnd Bergmann
` (22 subsequent siblings)
25 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The identifiers in the mvsas driver conflict with platform specific
interrupt definitions of the same name, so better prefix them
with MVS_ to avoid the collision.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Xiangliang Yu <yuxiangl@marvell.com>
Cc: James Bottomley <James.Bottomley@suse.de>
Cc: linux-scsi at vger.kernel.org
---
drivers/scsi/mvsas/mv_94xx.c | 10 +++---
drivers/scsi/mvsas/mv_94xx.h | 58 +++++++++++++++++++++---------------------
2 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/drivers/scsi/mvsas/mv_94xx.c b/drivers/scsi/mvsas/mv_94xx.c
index 3501291..9c12e03 100644
--- a/drivers/scsi/mvsas/mv_94xx.c
+++ b/drivers/scsi/mvsas/mv_94xx.c
@@ -534,7 +534,7 @@ static void mvs_94xx_interrupt_enable(struct mvs_info *mvi)
u32 tmp;
tmp = mr32(MVS_GBL_CTL);
- tmp |= (IRQ_SAS_A | IRQ_SAS_B);
+ tmp |= (MVS_IRQ_SAS_A | MVS_IRQ_SAS_B);
mw32(MVS_GBL_INT_STAT, tmp);
writel(tmp, regs + 0x0C);
writel(tmp, regs + 0x10);
@@ -550,7 +550,7 @@ static void mvs_94xx_interrupt_disable(struct mvs_info *mvi)
tmp = mr32(MVS_GBL_CTL);
- tmp &= ~(IRQ_SAS_A | IRQ_SAS_B);
+ tmp &= ~(MVS_IRQ_SAS_A | MVS_IRQ_SAS_B);
mw32(MVS_GBL_INT_STAT, tmp);
writel(tmp, regs + 0x0C);
writel(tmp, regs + 0x10);
@@ -566,7 +566,7 @@ static u32 mvs_94xx_isr_status(struct mvs_info *mvi, int irq)
if (!(mvi->flags & MVF_FLAG_SOC)) {
stat = mr32(MVS_GBL_INT_STAT);
- if (!(stat & (IRQ_SAS_A | IRQ_SAS_B)))
+ if (!(stat & (MVS_IRQ_SAS_A | MVS_IRQ_SAS_B)))
return 0;
}
return stat;
@@ -576,8 +576,8 @@ static irqreturn_t mvs_94xx_isr(struct mvs_info *mvi, int irq, u32 stat)
{
void __iomem *regs = mvi->regs;
- if (((stat & IRQ_SAS_A) && mvi->id == 0) ||
- ((stat & IRQ_SAS_B) && mvi->id == 1)) {
+ if (((stat & MVS_IRQ_SAS_A) && mvi->id == 0) ||
+ ((stat & MVS_IRQ_SAS_B) && mvi->id == 1)) {
mw32_f(MVS_INT_STAT, CINT_DONE);
spin_lock(&mvi->lock);
diff --git a/drivers/scsi/mvsas/mv_94xx.h b/drivers/scsi/mvsas/mv_94xx.h
index 8f7eb4f..5bc7656 100644
--- a/drivers/scsi/mvsas/mv_94xx.h
+++ b/drivers/scsi/mvsas/mv_94xx.h
@@ -150,35 +150,35 @@ enum chip_register_bits {
enum pci_interrupt_cause {
/* MAIN_IRQ_CAUSE (R10200) Bits*/
- IRQ_COM_IN_I2O_IOP0 = (1 << 0),
- IRQ_COM_IN_I2O_IOP1 = (1 << 1),
- IRQ_COM_IN_I2O_IOP2 = (1 << 2),
- IRQ_COM_IN_I2O_IOP3 = (1 << 3),
- IRQ_COM_OUT_I2O_HOS0 = (1 << 4),
- IRQ_COM_OUT_I2O_HOS1 = (1 << 5),
- IRQ_COM_OUT_I2O_HOS2 = (1 << 6),
- IRQ_COM_OUT_I2O_HOS3 = (1 << 7),
- IRQ_PCIF_TO_CPU_DRBL0 = (1 << 8),
- IRQ_PCIF_TO_CPU_DRBL1 = (1 << 9),
- IRQ_PCIF_TO_CPU_DRBL2 = (1 << 10),
- IRQ_PCIF_TO_CPU_DRBL3 = (1 << 11),
- IRQ_PCIF_DRBL0 = (1 << 12),
- IRQ_PCIF_DRBL1 = (1 << 13),
- IRQ_PCIF_DRBL2 = (1 << 14),
- IRQ_PCIF_DRBL3 = (1 << 15),
- IRQ_XOR_A = (1 << 16),
- IRQ_XOR_B = (1 << 17),
- IRQ_SAS_A = (1 << 18),
- IRQ_SAS_B = (1 << 19),
- IRQ_CPU_CNTRL = (1 << 20),
- IRQ_GPIO = (1 << 21),
- IRQ_UART = (1 << 22),
- IRQ_SPI = (1 << 23),
- IRQ_I2C = (1 << 24),
- IRQ_SGPIO = (1 << 25),
- IRQ_COM_ERR = (1 << 29),
- IRQ_I2O_ERR = (1 << 30),
- IRQ_PCIE_ERR = (1 << 31),
+ MVS_IRQ_COM_IN_I2O_IOP0 = (1 << 0),
+ MVS_IRQ_COM_IN_I2O_IOP1 = (1 << 1),
+ MVS_IRQ_COM_IN_I2O_IOP2 = (1 << 2),
+ MVS_IRQ_COM_IN_I2O_IOP3 = (1 << 3),
+ MVS_IRQ_COM_OUT_I2O_HOS0 = (1 << 4),
+ MVS_IRQ_COM_OUT_I2O_HOS1 = (1 << 5),
+ MVS_IRQ_COM_OUT_I2O_HOS2 = (1 << 6),
+ MVS_IRQ_COM_OUT_I2O_HOS3 = (1 << 7),
+ MVS_IRQ_PCIF_TO_CPU_DRBL0 = (1 << 8),
+ MVS_IRQ_PCIF_TO_CPU_DRBL1 = (1 << 9),
+ MVS_IRQ_PCIF_TO_CPU_DRBL2 = (1 << 10),
+ MVS_IRQ_PCIF_TO_CPU_DRBL3 = (1 << 11),
+ MVS_IRQ_PCIF_DRBL0 = (1 << 12),
+ MVS_IRQ_PCIF_DRBL1 = (1 << 13),
+ MVS_IRQ_PCIF_DRBL2 = (1 << 14),
+ MVS_IRQ_PCIF_DRBL3 = (1 << 15),
+ MVS_IRQ_XOR_A = (1 << 16),
+ MVS_IRQ_XOR_B = (1 << 17),
+ MVS_IRQ_SAS_A = (1 << 18),
+ MVS_IRQ_SAS_B = (1 << 19),
+ MVS_IRQ_CPU_CNTRL = (1 << 20),
+ MVS_IRQ_GPIO = (1 << 21),
+ MVS_IRQ_UART = (1 << 22),
+ MVS_IRQ_SPI = (1 << 23),
+ MVS_IRQ_I2C = (1 << 24),
+ MVS_IRQ_SGPIO = (1 << 25),
+ MVS_IRQ_COM_ERR = (1 << 29),
+ MVS_IRQ_I2O_ERR = (1 << 30),
+ MVS_IRQ_PCIE_ERR = (1 << 31),
};
union reg_phy_cfg {
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (2 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 03/26] scsi/mvsas: use proper namespace for IRQ_* symbols Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 3:48 ` Eric Miao
2011-10-01 20:03 ` [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code Arnd Bergmann
` (21 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
interrupt.h is no longer implicitly included here, so manually
add it instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/net/pxa168_eth.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/pxa168_eth.c b/drivers/net/pxa168_eth.c
index 1a3033d..d5a6cfc 100644
--- a/drivers/net/pxa168_eth.c
+++ b/drivers/net/pxa168_eth.c
@@ -41,6 +41,7 @@
#include <linux/phy.h>
#include <linux/io.h>
#include <linux/types.h>
+#include <linux/interrupt.h>
#include <asm/pgtable.h>
#include <asm/system.h>
#include <asm/cacheflush.h>
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (3 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 3:47 ` Eric Miao
2011-10-01 20:03 ` [PATCH 06/26] ARM: pxa: add missing header inclusions Arnd Bergmann
` (20 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
When support for zylonite is disabled, the zylonite_pxa300_init
and zylonite_pxa320_init functions are not there, but the declaration
is still kept around if any other boards for the same soc are
enabled. This changes the declaration to be conditional on the
same symbol as the code.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/include/mach/zylonite.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h b/arch/arm/mach-pxa/include/mach/zylonite.h
index ea24998..ecca976 100644
--- a/arch/arm/mach-pxa/include/mach/zylonite.h
+++ b/arch/arm/mach-pxa/include/mach/zylonite.h
@@ -19,7 +19,7 @@ extern int wm9713_irq;
extern int lcd_id;
extern int lcd_orientation;
-#ifdef CONFIG_CPU_PXA300
+#ifdef CONFIG_MACH_ZYLONITE300
extern void zylonite_pxa300_init(void);
#else
static inline void zylonite_pxa300_init(void)
@@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void)
}
#endif
-#ifdef CONFIG_CPU_PXA320
+#ifdef CONFIG_MACH_ZYLONITE320
extern void zylonite_pxa320_init(void);
#else
static inline void zylonite_pxa320_init(void)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 06/26] ARM: pxa: add missing header inclusions
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (4 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 5:08 ` Eric Miao
2011-10-01 20:03 ` [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code Arnd Bergmann
` (19 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
These resulted in build breakage in some configurations:
arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/irq.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
index b09e848..848e96d 100644
--- a/arch/arm/mach-pxa/irq.c
+++ b/arch/arm/mach-pxa/irq.c
@@ -16,6 +16,7 @@
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/syscore_ops.h>
+#include <linux/ftrace.h>
#include <linux/io.h>
#include <linux/irq.h>
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (5 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 06/26] ARM: pxa: add missing header inclusions Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 5:10 ` Eric Miao
2011-10-01 20:03 ` [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend Arnd Bergmann
` (18 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
This code has not worked for a long time, and even the
Makefile entry for building the file was misspelled.
Mark it as broken.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/video/Kconfig | 2 +-
drivers/video/mbx/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 549b960..45494c0 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1932,7 +1932,7 @@ config FB_MBX
config FB_MBX_DEBUG
bool "Enable debugging info via debugfs"
- depends on FB_MBX && DEBUG_FS
+ depends on FB_MBX && DEBUG_FS && BROKEN
default n
---help---
Enable this if you want debugging information using the debug
diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
index 16c1165..a315abc 100644
--- a/drivers/video/mbx/Makefile
+++ b/drivers/video/mbx/Makefile
@@ -1,4 +1,4 @@
# Makefile for the 2700G controller driver.
obj-$(CONFIG_FB_MBX) += mbxfb.o
-obj-$(CONFIG_FB_MBX_DEBUG) += mbxfbdebugfs.o
+obj-$(CONFIG_FB_MBX_DEBUG) += mbxdebugfs.o
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (6 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 5:59 ` Eric Miao
2011-10-01 20:03 ` [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi Arnd Bergmann
` (17 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The cpu_suspend code on pxa has recently changed, and the
z2 board did not get updated yet. This makes it do the
same as the other boards.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/z2.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
index 6c9275a..109447b 100644
--- a/arch/arm/mach-pxa/z2.c
+++ b/arch/arm/mach-pxa/z2.c
@@ -31,6 +31,7 @@
#include <linux/regulator/machine.h>
#include <linux/i2c/pxa-i2c.h>
+#include <asm/suspend.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -686,7 +687,7 @@ static void z2_power_off(void)
*/
PSPR = 0x0;
local_irq_disable();
- pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
+ cpu_suspend(PWRMODE_DEEPSLEEP, pxa27x_finish_suspend);
}
#else
#define z2_power_off NULL
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (7 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 6:01 ` Eric Miao
2011-10-01 20:03 ` [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO Arnd Bergmann
` (16 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The pxa3xx_u2d_start_hc/pxa3xx_u2d_stop_hc symbols are used by the
ohci-pxa27x driver, which can be a module.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/pxa3xx-ulpi.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/pxa3xx-ulpi.c b/arch/arm/mach-pxa/pxa3xx-ulpi.c
index ce7168b..e28dfb8 100644
--- a/arch/arm/mach-pxa/pxa3xx-ulpi.c
+++ b/arch/arm/mach-pxa/pxa3xx-ulpi.c
@@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host)
return err;
}
+EXPORT_SYMBOL_GPL(pxa3xx_u2d_start_hc);
void pxa3xx_u2d_stop_hc(struct usb_bus *host)
{
@@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host)
clk_disable(u2d->clk);
}
+EXPORT_SYMBOL_GPL(pxa3xx_u2d_stop_hc);
static int pxa3xx_u2d_probe(struct platform_device *pdev)
{
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (8 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 6:12 ` Eric Miao
2011-10-01 20:03 ` [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb Arnd Bergmann
` (15 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
There are two variants of the palmtreo machine, the 680 and the
centro, and Kconfig allows selecting one or both of them.
This changes the board file so that it's actually possible
to build all configurations that are allowed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/palmtreo.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index bb27d4b..30364b0 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -423,6 +423,7 @@ static void __init palmphone_common_init(void)
palmtreo_leds_init();
}
+#ifdef CONFIG_MACH_TREO680
static void __init treo680_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
@@ -430,7 +431,9 @@ static void __init treo680_init(void)
palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY,
GPIO_NR_TREO680_SD_POWER, 0);
}
+#endif
+#ifdef CONFIG_MACH_CENTRO
static void __init centro_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
@@ -438,7 +441,9 @@ static void __init centro_init(void)
palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1,
GPIO_NR_CENTRO_SD_POWER, 1);
}
+#endif
+#ifdef CONFIG_MACH_TREO680
MACHINE_START(TREO680, "Palm Treo 680")
.boot_params = 0xa0000100,
.map_io = pxa27x_map_io,
@@ -448,7 +453,9 @@ MACHINE_START(TREO680, "Palm Treo 680")
.timer = &pxa_timer,
.init_machine = treo680_init,
MACHINE_END
+#endif
+#ifdef CONFIG_MACH_CENTRO
MACHINE_START(CENTRO, "Palm Centro 685")
.boot_params = 0xa0000100,
.map_io = pxa27x_map_io,
@@ -458,3 +465,4 @@ MACHINE_START(CENTRO, "Palm Centro 685")
.timer = &pxa_timer,
.init_machine = centro_init,
MACHINE_END
+#endif
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (9 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 6:19 ` Eric Miao
2011-10-01 20:03 ` [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code Arnd Bergmann
` (14 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The frame buffer device is defined conditionally on whether the
driver is configured. However, the #ifdef guard around the
declaration of palm27x_lcd_init also removes the visibility
of the lcd mode declarations, which need to be available in
order to build correctly, even if they are not defined in the
end.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/include/mach/palm27x.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h
index 0a5e5ea..030a916 100644
--- a/arch/arm/mach-pxa/include/mach/palm27x.h
+++ b/arch/arm/mach-pxa/include/mach/palm27x.h
@@ -27,10 +27,10 @@ extern void __init palm27x_pm_init(unsigned long str_base);
static inline void palm27x_pm_init(unsigned long str_base) {}
#endif
-#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
extern struct pxafb_mode_info palm_320x480_lcd_mode;
extern struct pxafb_mode_info palm_320x320_lcd_mode;
extern struct pxafb_mode_info palm_320x320_new_lcd_mode;
+#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
extern void __init palm27x_lcd_init(int power,
struct pxafb_mode_info *mode);
#else
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (10 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 7:28 ` Eric Miao
2011-10-01 20:03 ` [PATCH 13/26] ARM: pxa: use correct __iomem annotations Arnd Bergmann
` (13 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
saarb uses pxa3xx_map_io and pxa3xx_handle_irq, which are part
of the pxa3xx code. This makes sure the necessary header and
implementation is used when building the board file.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Makefile | 2 +-
arch/arm/mach-pxa/saarb.c | 2 ++
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index cc39d17..be0f7df 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -19,7 +19,7 @@ endif
obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o
obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o
obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o
-obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa95x.o smemc.o
+obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o pxa95x.o smemc.o
obj-$(CONFIG_CPU_PXA300) += pxa300.o
obj-$(CONFIG_CPU_PXA320) += pxa320.o
obj-$(CONFIG_CPU_PXA930) += pxa930.o
diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c
index ebd6379..829c514 100644
--- a/arch/arm/mach-pxa/saarb.c
+++ b/arch/arm/mach-pxa/saarb.c
@@ -25,6 +25,8 @@
#include <mach/mfp-pxa930.h>
#include <mach/gpio.h>
+#include <mach/pxa930.h>
+
#include "generic.h"
#define SAARB_NR_IRQS (IRQ_BOARD_START + 40)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 13/26] ARM: pxa: use correct __iomem annotations
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (11 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 8:11 ` Eric Miao
2011-10-01 20:03 ` [PATCH 14/26] mtd: nand_h1900 never worked Arnd Bergmann
` (12 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
This tries to clear up the confusion between integers and iomem pointers
in the marvell pxa platform. MMIO addresses are supposed to be __iomem*
values, in order to let the Linux type checking work correctly. This
patch moves the cast to __iomem as far back as possible, to the place
where the MMIO virtual address windows are defined.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/include/asm/hardware/it8152.h | 2 +-
arch/arm/mach-mmp/clock.h | 8 ++++----
arch/arm/mach-mmp/common.c | 4 ++--
arch/arm/mach-mmp/include/mach/addr-map.h | 10 ++++++++--
arch/arm/mach-mmp/mmp2.c | 3 ++-
arch/arm/mach-pxa/balloon3.c | 10 +++++-----
arch/arm/mach-pxa/cm-x2xx-pci.c | 2 +-
arch/arm/mach-pxa/cm-x2xx.c | 4 ++--
arch/arm/mach-pxa/include/mach/addr-map.h | 8 ++++----
arch/arm/mach-pxa/include/mach/balloon3.h | 2 +-
arch/arm/mach-pxa/include/mach/hardware.h | 9 +++++----
arch/arm/mach-pxa/include/mach/lpd270.h | 4 ++--
arch/arm/mach-pxa/include/mach/mtd-xip.h | 1 -
arch/arm/mach-pxa/include/mach/palmtx.h | 6 +++---
arch/arm/mach-pxa/include/mach/smemc.h | 2 +-
arch/arm/mach-pxa/include/mach/zeus.h | 4 ++--
arch/arm/mach-pxa/irq.c | 4 ++--
arch/arm/mach-pxa/lpd270.c | 2 +-
arch/arm/mach-pxa/palmtx.c | 8 ++++----
arch/arm/mach-pxa/pxa25x.c | 2 +-
arch/arm/mach-pxa/pxa27x.c | 2 +-
arch/arm/mach-pxa/pxa3xx.c | 2 +-
arch/arm/mach-pxa/zeus.c | 8 ++++----
arch/arm/plat-pxa/gpio.c | 2 +-
arch/arm/plat-pxa/include/plat/mfp.h | 2 +-
arch/arm/plat-pxa/mfp.c | 4 ++--
drivers/pcmcia/pxa2xx_balloon3.c | 2 +-
drivers/video/mbx/mbxfb.c | 6 +++---
28 files changed, 65 insertions(+), 58 deletions(-)
diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h
index b3fea38..43cab49 100644
--- a/arch/arm/include/asm/hardware/it8152.h
+++ b/arch/arm/include/asm/hardware/it8152.h
@@ -9,7 +9,7 @@
#ifndef __ASM_HARDWARE_IT8152_H
#define __ASM_HARDWARE_IT8152_H
-extern unsigned long it8152_base_address;
+extern void __iomem *it8152_base_address;
#define IT8152_IO_BASE (it8152_base_address + 0x03e00000)
#define IT8152_CFGREG_BASE (it8152_base_address + 0x03f00000)
diff --git a/arch/arm/mach-mmp/clock.h b/arch/arm/mach-mmp/clock.h
index 3143e99..149b30c 100644
--- a/arch/arm/mach-mmp/clock.h
+++ b/arch/arm/mach-mmp/clock.h
@@ -30,7 +30,7 @@ extern struct clkops apmu_clk_ops;
#define APBC_CLK(_name, _reg, _fnclksel, _rate) \
struct clk clk_##_name = { \
- .clk_rst = (void __iomem *)APBC_##_reg, \
+ .clk_rst = APBC_##_reg, \
.fnclksel = _fnclksel, \
.rate = _rate, \
.ops = &apbc_clk_ops, \
@@ -38,7 +38,7 @@ struct clk clk_##_name = { \
#define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) \
struct clk clk_##_name = { \
- .clk_rst = (void __iomem *)APBC_##_reg, \
+ .clk_rst = APBC_##_reg, \
.fnclksel = _fnclksel, \
.rate = _rate, \
.ops = _ops, \
@@ -46,7 +46,7 @@ struct clk clk_##_name = { \
#define APMU_CLK(_name, _reg, _eval, _rate) \
struct clk clk_##_name = { \
- .clk_rst = (void __iomem *)APMU_##_reg, \
+ .clk_rst = APMU_##_reg, \
.enable_val = _eval, \
.rate = _rate, \
.ops = &apmu_clk_ops, \
@@ -54,7 +54,7 @@ struct clk clk_##_name = { \
#define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) \
struct clk clk_##_name = { \
- .clk_rst = (void __iomem *)APMU_##_reg, \
+ .clk_rst = APMU_##_reg, \
.enable_val = _eval, \
.rate = _rate, \
.ops = _ops, \
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 0ec0ca8..5720674 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -27,12 +27,12 @@ EXPORT_SYMBOL(mmp_chip_id);
static struct map_desc standard_io_desc[] __initdata = {
{
.pfn = __phys_to_pfn(APB_PHYS_BASE),
- .virtual = APB_VIRT_BASE,
+ .virtual = (unsigned long)APB_VIRT_BASE,
.length = APB_PHYS_SIZE,
.type = MT_DEVICE,
}, {
.pfn = __phys_to_pfn(AXI_PHYS_BASE),
- .virtual = AXI_VIRT_BASE,
+ .virtual = (unsigned long)AXI_VIRT_BASE,
.length = AXI_PHYS_SIZE,
.type = MT_DEVICE,
},
diff --git a/arch/arm/mach-mmp/include/mach/addr-map.h b/arch/arm/mach-mmp/include/mach/addr-map.h
index 3254089..3e404ac 100644
--- a/arch/arm/mach-mmp/include/mach/addr-map.h
+++ b/arch/arm/mach-mmp/include/mach/addr-map.h
@@ -11,6 +11,12 @@
#ifndef __ASM_MACH_ADDR_MAP_H
#define __ASM_MACH_ADDR_MAP_H
+#ifndef __ASSEMBLER__
+#define IOMEM(x) ((void __iomem *)(x))
+#else
+#define IOMEM(x) (x)
+#endif
+
/* APB - Application Subsystem Peripheral Bus
*
* NOTE: the DMA controller registers are actually on the AXI fabric #1
@@ -18,11 +24,11 @@
* peripherals on APB, let's count it into the ABP mapping area.
*/
#define APB_PHYS_BASE 0xd4000000
-#define APB_VIRT_BASE 0xfe000000
+#define APB_VIRT_BASE IOMEM(0xfe000000)
#define APB_PHYS_SIZE 0x00200000
#define AXI_PHYS_BASE 0xd4200000
-#define AXI_VIRT_BASE 0xfe200000
+#define AXI_VIRT_BASE IOMEM(0xfe200000)
#define AXI_PHYS_SIZE 0x00200000
/* Static Memory Controller - Chip Select 0 and 1 */
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c
index 079c188..a80cbea 100644
--- a/arch/arm/mach-mmp/mmp2.c
+++ b/arch/arm/mach-mmp/mmp2.c
@@ -87,7 +87,8 @@ static struct mfp_addr_map mmp2_addr_map[] __initdata = {
void mmp2_clear_pmic_int(void)
{
- unsigned long mfpr_pmic, data;
+ void __iomem *mfpr_pmic;
+ unsigned long data;
mfpr_pmic = APB_VIRT_BASE + 0x1e000 + 0x2c4;
data = __raw_readl(mfpr_pmic);
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index ef3e8b1..d0f1411 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -591,7 +591,7 @@ static void balloon3_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ct
BALLOON3_NAND_CONTROL_REG);
if (balloon3_ctl_set)
__raw_writel(balloon3_ctl_set,
- BALLOON3_NAND_CONTROL_REG |
+ BALLOON3_NAND_CONTROL_REG +
BALLOON3_FPGA_SETnCLR);
}
@@ -608,7 +608,7 @@ static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip)
__raw_writew(
BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 |
BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3,
- BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR);
+ BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR);
/* Deassert correct nCE line */
__raw_writew(BALLOON3_NAND_CONTROL_FLCE0 << chip,
@@ -626,7 +626,7 @@ static int balloon3_nand_probe(struct platform_device *pdev)
int ret;
__raw_writew(BALLOON3_NAND_CONTROL2_16BIT,
- BALLOON3_NAND_CONTROL2_REG | BALLOON3_FPGA_SETnCLR);
+ BALLOON3_NAND_CONTROL2_REG + BALLOON3_FPGA_SETnCLR);
ver = __raw_readw(BALLOON3_FPGA_VER);
if (ver < 0x4f08)
@@ -649,7 +649,7 @@ static int balloon3_nand_probe(struct platform_device *pdev)
BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 |
BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3 |
BALLOON3_NAND_CONTROL_FLWP,
- BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR);
+ BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR);
return 0;
err2:
@@ -807,7 +807,7 @@ static void __init balloon3_init(void)
static struct map_desc balloon3_io_desc[] __initdata = {
{ /* CPLD/FPGA */
- .virtual = BALLOON3_FPGA_VIRT,
+ .virtual = (unsigned long)BALLOON3_FPGA_VIRT,
.pfn = __phys_to_pfn(BALLOON3_FPGA_PHYS),
.length = BALLOON3_FPGA_LENGTH,
.type = MT_DEVICE,
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index 6bf479d..ebd9259 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -26,7 +26,7 @@
#include <asm/hardware/it8152.h>
-unsigned long it8152_base_address;
+void __iomem *it8152_base_address;
static int cmx2xx_it8152_irq_gpio;
static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c
index 13cf518..4f07e16 100644
--- a/arch/arm/mach-pxa/cm-x2xx.c
+++ b/arch/arm/mach-pxa/cm-x2xx.c
@@ -39,7 +39,7 @@ extern void cmx270_init(void);
#define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40)
/* virtual addresses for statically mapped regions */
-#define CMX2XX_VIRT_BASE (0xe8000000)
+#define CMX2XX_VIRT_BASE (void __iomem *)(0xe8000000)
#define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE)
/* physical address if local-bus attached devices */
@@ -482,7 +482,7 @@ static void __init cmx2xx_init_irq(void)
/* Map PCI companion statically */
static struct map_desc cmx2xx_io_desc[] __initdata = {
[0] = { /* PCI bridge */
- .virtual = CMX2XX_IT8152_VIRT,
+ .virtual = (unsigned long)CMX2XX_IT8152_VIRT,
.pfn = __phys_to_pfn(PXA_CS4_PHYS),
.length = SZ_64M,
.type = MT_DEVICE
diff --git a/arch/arm/mach-pxa/include/mach/addr-map.h b/arch/arm/mach-pxa/include/mach/addr-map.h
index f4c0365..bbf9df3 100644
--- a/arch/arm/mach-pxa/include/mach/addr-map.h
+++ b/arch/arm/mach-pxa/include/mach/addr-map.h
@@ -20,7 +20,7 @@
* Peripheral Bus
*/
#define PERIPH_PHYS 0x40000000
-#define PERIPH_VIRT 0xf2000000
+#define PERIPH_VIRT IOMEM(0xf2000000)
#define PERIPH_SIZE 0x02000000
/*
@@ -28,21 +28,21 @@
*/
#define PXA2XX_SMEMC_PHYS 0x48000000
#define PXA3XX_SMEMC_PHYS 0x4a000000
-#define SMEMC_VIRT 0xf6000000
+#define SMEMC_VIRT IOMEM(0xf6000000)
#define SMEMC_SIZE 0x00100000
/*
* Dynamic Memory Controller (only on PXA3xx)
*/
#define DMEMC_PHYS 0x48100000
-#define DMEMC_VIRT 0xf6100000
+#define DMEMC_VIRT IOMEM(0xf6100000)
#define DMEMC_SIZE 0x00100000
/*
* Internal Memory Controller (PXA27x and later)
*/
#define IMEMC_PHYS 0x58000000
-#define IMEMC_VIRT 0xfe000000
+#define IMEMC_VIRT IOMEM(0xfe000000)
#define IMEMC_SIZE 0x00100000
#endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h b/arch/arm/mach-pxa/include/mach/balloon3.h
index 7074e76..6d7eab3 100644
--- a/arch/arm/mach-pxa/include/mach/balloon3.h
+++ b/arch/arm/mach-pxa/include/mach/balloon3.h
@@ -23,7 +23,7 @@ enum balloon3_features {
};
#define BALLOON3_FPGA_PHYS PXA_CS4_PHYS
-#define BALLOON3_FPGA_VIRT (0xf1000000) /* as per balloon2 */
+#define BALLOON3_FPGA_VIRT IOMEM(0xf1000000) /* as per balloon2 */
#define BALLOON3_FPGA_LENGTH 0x01000000
#define BALLOON3_FPGA_SETnCLR (0x1000)
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h
index de63ca3..8184669 100644
--- a/arch/arm/mach-pxa/include/mach/hardware.h
+++ b/arch/arm/mach-pxa/include/mach/hardware.h
@@ -36,22 +36,23 @@
* Note that not all PXA2xx chips implement all those addresses, and the
* kernel only maps the minimum needed range of this mapping.
*/
-#define io_p2v(x) (0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1))
#define io_v2p(x) (0x3c000000 + ((x) & 0x01ffffff) + (((x) & 0x0e000000) << 1))
+#define io_p2v(x) IOMEM(0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1))
#ifndef __ASSEMBLY__
-
-# define __REG(x) (*((volatile u32 *)io_p2v(x)))
+# define IOMEM(x) ((void __iomem *)(x))
+# define __REG(x) (*((volatile u32 __iomem *)io_p2v(x)))
/* With indexed regs we don't want to feed the index through io_p2v()
especially if it is a variable, otherwise horrible code will result. */
# define __REG2(x,y) \
- (*(volatile u32 *)((u32)&__REG(x) + (y)))
+ (*(volatile u32 __iomem*)((u32)&__REG(x) + (y)))
# define __PREG(x) (io_v2p((u32)&(x)))
#else
+# define IOMEM(x) x
# define __REG(x) io_p2v(x)
# define __PREG(x) io_v2p(x)
diff --git a/arch/arm/mach-pxa/include/mach/lpd270.h b/arch/arm/mach-pxa/include/mach/lpd270.h
index cd07009..4edc712 100644
--- a/arch/arm/mach-pxa/include/mach/lpd270.h
+++ b/arch/arm/mach-pxa/include/mach/lpd270.h
@@ -13,13 +13,13 @@
#define __ASM_ARCH_LPD270_H
#define LPD270_CPLD_PHYS PXA_CS2_PHYS
-#define LPD270_CPLD_VIRT 0xf0000000
+#define LPD270_CPLD_VIRT IOMEM(0xf0000000)
#define LPD270_CPLD_SIZE 0x00100000
#define LPD270_ETH_PHYS (PXA_CS2_PHYS + 0x01000000)
/* CPLD registers */
-#define LPD270_CPLD_REG(x) ((unsigned long)(LPD270_CPLD_VIRT + (x)))
+#define LPD270_CPLD_REG(x) (LPD270_CPLD_VIRT + (x))
#define LPD270_CONTROL LPD270_CPLD_REG(0x00)
#define LPD270_PERIPHERAL0 LPD270_CPLD_REG(0x04)
#define LPD270_PERIPHERAL1 LPD270_CPLD_REG(0x08)
diff --git a/arch/arm/mach-pxa/include/mach/mtd-xip.h b/arch/arm/mach-pxa/include/mach/mtd-xip.h
index 297387e..990d2bf 100644
--- a/arch/arm/mach-pxa/include/mach/mtd-xip.h
+++ b/arch/arm/mach-pxa/include/mach/mtd-xip.h
@@ -16,7 +16,6 @@
#define __ARCH_PXA_MTD_XIP_H__
#include <mach/regs-ost.h>
-#include <mach/regs-intc.h>
#define xip_irqpending() (ICIP & ICMR)
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index 10abc4f..7074a6e 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -71,7 +71,7 @@
/* Various addresses */
#define PALMTX_PCMCIA_PHYS 0x28000000
-#define PALMTX_PCMCIA_VIRT 0xf0000000
+#define PALMTX_PCMCIA_VIRT IOMEM(0xf0000000)
#define PALMTX_PCMCIA_SIZE 0x100000
#define PALMTX_PHYS_RAM_START 0xa0000000
@@ -84,8 +84,8 @@
#define PALMTX_NAND_ALE_PHYS (PALMTX_PHYS_NAND_START | (1 << 24))
#define PALMTX_NAND_CLE_PHYS (PALMTX_PHYS_NAND_START | (1 << 25))
-#define PALMTX_NAND_ALE_VIRT 0xff100000
-#define PALMTX_NAND_CLE_VIRT 0xff200000
+#define PALMTX_NAND_ALE_VIRT IOMEM(0xff100000)
+#define PALMTX_NAND_CLE_VIRT IOMEM(0xff200000)
/* TOUCHSCREEN */
#define AC97_LINK_FRAME 21
diff --git a/arch/arm/mach-pxa/include/mach/smemc.h b/arch/arm/mach-pxa/include/mach/smemc.h
index 654adc9..b7de471 100644
--- a/arch/arm/mach-pxa/include/mach/smemc.h
+++ b/arch/arm/mach-pxa/include/mach/smemc.h
@@ -13,7 +13,7 @@
#define PXA2XX_SMEMC_BASE 0x48000000
#define PXA3XX_SMEMC_BASE 0x4a000000
-#define SMEMC_VIRT 0xf6000000
+#define SMEMC_VIRT IOMEM(0xf6000000)
#define MDCNFG (SMEMC_VIRT + 0x00) /* SDRAM Configuration Register 0 */
#define MDREFR (SMEMC_VIRT + 0x04) /* SDRAM Refresh Control Register */
diff --git a/arch/arm/mach-pxa/include/mach/zeus.h b/arch/arm/mach-pxa/include/mach/zeus.h
index 0641f31..56024f8 100644
--- a/arch/arm/mach-pxa/include/mach/zeus.h
+++ b/arch/arm/mach-pxa/include/mach/zeus.h
@@ -68,7 +68,7 @@
* Be gentle, and remap that over 32kB...
*/
-#define ZEUS_CPLD (0xf0000000)
+#define ZEUS_CPLD IOMEM(0xf0000000)
#define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000)
#define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000)
#define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000)
@@ -76,7 +76,7 @@
/* CPLD register bits */
#define ZEUS_CPLD_CONTROL_CF_RST 0x01
-#define ZEUS_PC104IO (0xf1000000)
+#define ZEUS_PC104IO IOMEM(0xf1000000)
#define ZEUS_SRAM_SIZE (256 * 1024)
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
index 848e96d..5344f05 100644
--- a/arch/arm/mach-pxa/irq.c
+++ b/arch/arm/mach-pxa/irq.c
@@ -26,7 +26,7 @@
#include "generic.h"
-#define IRQ_BASE (void __iomem *)io_p2v(0x40d00000)
+#define IRQ_BASE io_p2v(0x40d00000)
#define ICIP (0x000)
#define ICMR (0x004)
@@ -64,7 +64,7 @@ static inline void __iomem *irq_base(int i)
0x40d00130,
};
- return (void __iomem *)io_p2v(phys_base[i]);
+ return io_p2v(phys_base[i]);
}
void pxa_mask_irq(struct irq_data *d)
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index c171d6e..e30cdc8 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -480,7 +480,7 @@ static void __init lpd270_init(void)
static struct map_desc lpd270_io_desc[] __initdata = {
{
- .virtual = LPD270_CPLD_VIRT,
+ .virtual = (unsigned long)LPD270_CPLD_VIRT,
.pfn = __phys_to_pfn(LPD270_CPLD_PHYS),
.length = LPD270_CPLD_SIZE,
.type = MT_DEVICE,
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index fc42855..00c318f 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -247,7 +247,7 @@ static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
unsigned int ctrl)
{
struct nand_chip *this = mtd->priv;
- unsigned long nandaddr = (unsigned long)this->IO_ADDR_W;
+ char __iomem *nandaddr = this->IO_ADDR_W;
if (cmd == NAND_CMD_NONE)
return;
@@ -315,17 +315,17 @@ static inline void palmtx_nand_init(void) {}
******************************************************************************/
static struct map_desc palmtx_io_desc[] __initdata = {
{
- .virtual = PALMTX_PCMCIA_VIRT,
+ .virtual = (unsigned long)PALMTX_PCMCIA_VIRT,
.pfn = __phys_to_pfn(PALMTX_PCMCIA_PHYS),
.length = PALMTX_PCMCIA_SIZE,
.type = MT_DEVICE,
}, {
- .virtual = PALMTX_NAND_ALE_VIRT,
+ .virtual = (unsigned long)PALMTX_NAND_ALE_VIRT,
.pfn = __phys_to_pfn(PALMTX_NAND_ALE_PHYS),
.length = SZ_1M,
.type = MT_DEVICE,
}, {
- .virtual = PALMTX_NAND_CLE_VIRT,
+ .virtual = (unsigned long)PALMTX_NAND_CLE_VIRT,
.pfn = __phys_to_pfn(PALMTX_NAND_CLE_PHYS),
.length = SZ_1M,
.type = MT_DEVICE,
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index 9c434d2..6c49c7c 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -324,7 +324,7 @@ void __init pxa26x_init_irq(void)
static struct map_desc pxa25x_io_desc[] __initdata = {
{ /* Mem Ctl */
- .virtual = SMEMC_VIRT,
+ .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE),
.length = 0x00200000,
.type = MT_DEVICE
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index 9d2400b..729af54 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -390,7 +390,7 @@ void __init pxa27x_init_irq(void)
static struct map_desc pxa27x_io_desc[] __initdata = {
{ /* Mem Ctl */
- .virtual = SMEMC_VIRT,
+ .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE),
.length = 0x00200000,
.type = MT_DEVICE
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
index b5cd9e5..b2479cb 100644
--- a/arch/arm/mach-pxa/pxa3xx.c
+++ b/arch/arm/mach-pxa/pxa3xx.c
@@ -394,7 +394,7 @@ void __init pxa3xx_init_irq(void)
static struct map_desc pxa3xx_io_desc[] __initdata = {
{ /* Mem Ctl */
- .virtual = SMEMC_VIRT,
+ .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE),
.length = 0x00200000,
.type = MT_DEVICE
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index 99c49bc..9188492 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -860,25 +860,25 @@ static void __init zeus_init(void)
static struct map_desc zeus_io_desc[] __initdata = {
{
- .virtual = ZEUS_CPLD_VERSION,
+ .virtual = (unsigned long)ZEUS_CPLD_VERSION,
.pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS),
.length = 0x1000,
.type = MT_DEVICE,
},
{
- .virtual = ZEUS_CPLD_ISA_IRQ,
+ .virtual = (unsigned long)ZEUS_CPLD_ISA_IRQ,
.pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS),
.length = 0x1000,
.type = MT_DEVICE,
},
{
- .virtual = ZEUS_CPLD_CONTROL,
+ .virtual = (unsigned long)ZEUS_CPLD_CONTROL,
.pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS),
.length = 0x1000,
.type = MT_DEVICE,
},
{
- .virtual = ZEUS_PC104IO,
+ .virtual = (unsigned long)ZEUS_PC104IO,
.pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS),
.length = 0x00800000,
.type = MT_DEVICE,
diff --git a/arch/arm/plat-pxa/gpio.c b/arch/arm/plat-pxa/gpio.c
index a11dc36..0db7615 100644
--- a/arch/arm/plat-pxa/gpio.c
+++ b/arch/arm/plat-pxa/gpio.c
@@ -122,7 +122,7 @@ static int __init pxa_init_gpio_chip(int gpio_end)
struct gpio_chip *c = &chips[i].chip;
sprintf(chips[i].label, "gpio-%d", i);
- chips[i].regbase = (void __iomem *)GPIO_BANK(i);
+ chips[i].regbase = GPIO_BANK(i);
c->base = gpio;
c->label = chips[i].label;
diff --git a/arch/arm/plat-pxa/include/plat/mfp.h b/arch/arm/plat-pxa/include/plat/mfp.h
index 89e68e0..5c79c29 100644
--- a/arch/arm/plat-pxa/include/plat/mfp.h
+++ b/arch/arm/plat-pxa/include/plat/mfp.h
@@ -456,7 +456,7 @@ struct mfp_addr_map {
#define MFP_ADDR_END { MFP_PIN_INVALID, 0 }
-void __init mfp_init_base(unsigned long mfpr_base);
+void __init mfp_init_base(void __iomem *mfpr_base);
void __init mfp_init_addr(struct mfp_addr_map *map);
/*
diff --git a/arch/arm/plat-pxa/mfp.c b/arch/arm/plat-pxa/mfp.c
index be12ead..2c4dbb1 100644
--- a/arch/arm/plat-pxa/mfp.c
+++ b/arch/arm/plat-pxa/mfp.c
@@ -229,7 +229,7 @@ void mfp_write(int mfp, unsigned long val)
spin_unlock_irqrestore(&mfp_spin_lock, flags);
}
-void __init mfp_init_base(unsigned long mfpr_base)
+void __init mfp_init_base(void __iomem *mfpr_base)
{
int i;
@@ -237,7 +237,7 @@ void __init mfp_init_base(unsigned long mfpr_base)
for (i = 0; i < ARRAY_SIZE(mfp_table); i++)
mfp_table[i].config = -1;
- mfpr_mmio_base = (void __iomem *)mfpr_base;
+ mfpr_mmio_base = mfpr_base;
}
void __init mfp_init_addr(struct mfp_addr_map *map)
diff --git a/drivers/pcmcia/pxa2xx_balloon3.c b/drivers/pcmcia/pxa2xx_balloon3.c
index f56d7de..22a75e6 100644
--- a/drivers/pcmcia/pxa2xx_balloon3.c
+++ b/drivers/pcmcia/pxa2xx_balloon3.c
@@ -97,7 +97,7 @@ static void balloon3_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
static int balloon3_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state)
{
- __raw_writew(BALLOON3_CF_RESET, BALLOON3_CF_CONTROL_REG |
+ __raw_writew(BALLOON3_CF_RESET, BALLOON3_CF_CONTROL_REG +
((state->flags & SS_RESET) ?
BALLOON3_FPGA_SETnCLR : 0));
return 0;
diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
index afea9ab..6ce3416 100644
--- a/drivers/video/mbx/mbxfb.c
+++ b/drivers/video/mbx/mbxfb.c
@@ -34,7 +34,7 @@
#include "regs.h"
#include "reg_bits.h"
-static unsigned long virt_base_2700;
+static void __iomem *virt_base_2700;
#define write_reg(val, reg) do { writel((val), (reg)); } while(0)
@@ -850,7 +850,7 @@ static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
{
/* make frame buffer memory enter self-refresh mode */
write_reg_dly(LMPWR_MC_PWR_SRM, LMPWR);
- while (LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM)
+ while (readl(LMPWRSTAT) != LMPWRSTAT_MC_PWR_SRM)
; /* empty statement */
/* reset the device, since it's initial state is 'mostly sleeping' */
@@ -946,7 +946,7 @@ static int __devinit mbxfb_probe(struct platform_device *dev)
ret = -EINVAL;
goto err3;
}
- virt_base_2700 = (unsigned long)mfbi->reg_virt_addr;
+ virt_base_2700 = mfbi->reg_virt_addr;
mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
res_size(mfbi->fb_req));
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 14/26] mtd: nand_h1900 never worked
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (12 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 13/26] ARM: pxa: use correct __iomem annotations Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 8:21 ` Eric Miao
2011-10-16 11:38 ` Artem Bityutskiy
2011-10-01 20:03 ` [PATCH 15/26] irda/ficp: only works on some pxa models Arnd Bergmann
` (11 subsequent siblings)
25 siblings, 2 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
This driver has been broken through all of git history and
cannot even be built. Better mark it as broken. Next stop is
removing from the tree.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Cc: Jamie Iles <jamie@jamieiles.com>
---
drivers/mtd/nand/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 4c342523..f85af18 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -92,7 +92,7 @@ config MTD_NAND_EDB7312
config MTD_NAND_H1900
tristate "iPAQ H1900 flash"
- depends on ARCH_PXA
+ depends on ARCH_PXA && BROKEN
help
This enables the driver for the iPAQ h1900 flash.
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 15/26] irda/ficp: only works on some pxa models
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (13 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 14/26] mtd: nand_h1900 never worked Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-07 8:22 ` Eric Miao
2011-10-01 20:03 ` [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT Arnd Bergmann
` (10 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
This driver can only be built for pxa25x and pxa27x at the moment,
so encode that in Kconfig.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Samuel Ortiz <samuel@sortiz.org>
---
drivers/net/irda/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig
index 25bb2a0..8cffd38 100644
--- a/drivers/net/irda/Kconfig
+++ b/drivers/net/irda/Kconfig
@@ -373,7 +373,7 @@ config VIA_FIR
config PXA_FICP
tristate "Intel PXA2xx Internal FICP"
- depends on ARCH_PXA && IRDA
+ depends on ARCH_PXA && IRDA && (PXA25x || PXA27x)
help
Say Y or M here if you want to build support for the PXA2xx
built-in IRDA interface which can support both SIR and FIR.
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (14 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 15/26] irda/ficp: only works on some pxa models Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-02 16:03 ` Russell King - ARM Linux
2011-10-01 20:03 ` [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa Arnd Bergmann
` (9 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The PJ4 based pxa95x cpus all have iwmmxt and there is no way to
build that code conditionally, so better not ask the user
in that configuration, in order to prevent broken builds.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5ebc5d9..570c9fd 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1071,7 +1071,7 @@ config ARM_TIMER_SP804
source arch/arm/mm/Kconfig
config IWMMXT
- bool "Enable iWMMXt support"
+ bool "Enable iWMMXt support" if !CPU_PJ4
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
help
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (15 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 2:57 ` Haojian Zhuang
2011-10-01 20:03 ` [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more Arnd Bergmann
` (8 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
We cannot support ARMv5 and ARMv7 based boards in a single kernel,
so introduce a new option in mach-pxa to select between the two.
The PJ4 (ARMv7) based boards are now only visible when
CONFIG_ARCH_PXA_V7 is set, the other boards are only visible
when it's not set.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index cd19309..bb310d0 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -2,6 +2,27 @@ if ARCH_PXA
menu "Intel PXA2xx/PXA3xx Implementations"
+config ARCH_PXA_V7
+ bool "ARMv7 (PXA95x) based systems"
+
+if ARCH_PXA_V7
+comment "Marvell Dev Platforms (sorted by hardware release time)"
+config MACH_TAVOREVB3
+ bool "PXA95x Development Platform (aka TavorEVB III)"
+ select CPU_PXA955
+
+config MACH_SAARB
+ bool "PXA955 Handheld Platform (aka SAARB)"
+ select CPU_PXA955
+endif
+
+config PXA_V7_MACH_AUTO
+ def_bool y
+ depends on ARCH_PXA_V7
+ depends on !MACH_SAARB
+ select MACH_TAVOREVB3
+
+if !ARCH_PXA_V7
comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
config ARCH_LUBBOCK
@@ -41,19 +62,11 @@ config MACH_TAVOREVB
select PXA3xx
select CPU_PXA930
-config MACH_TAVOREVB3
- bool "PXA95x Development Platform (aka TavorEVB III)"
- select CPU_PXA950
-
config MACH_SAAR
bool "PXA930 Handheld Platform (aka SAAR)"
select PXA3xx
select CPU_PXA930
-config MACH_SAARB
- bool "PXA955 Handheld Platform (aka SAARB)"
- select CPU_PXA955
-
comment "Third Party Dev Platforms (sorted by vendor name)"
config ARCH_PXA_IDP
@@ -598,7 +611,7 @@ config MACH_ZIPIT2
bool "Zipit Z2 Handheld"
select PXA27x
select HAVE_PWM
-
+endif
endmenu
config PXA25x
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (16 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 7:44 ` Eric Miao
2011-10-01 20:03 ` [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ Arnd Bergmann
` (7 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The headers files required for XIP support have moved around
over the last few years, and the code no longer builds.
Until someone fixes this, let's just disable support, leaving
sa1100 as the only platform still supporting xip.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 570c9fd..71b0ccb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -619,7 +619,6 @@ config ARCH_PNX4008
config ARCH_PXA
bool "PXA2xx/PXA3xx-based"
depends on MMU
- select ARCH_MTD_XIP
select ARCH_HAS_CPUFREQ
select CLKDEV_LOOKUP
select CLKSRC_MMIO
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (17 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 8:34 ` Eric Miao
2011-10-01 20:03 ` [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb Arnd Bergmann
` (6 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The pxa specific cpufreq code is based on the cpu_freq_table
module, so we have to select that.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 71b0ccb..3b84eda 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1926,6 +1926,7 @@ config CPU_FREQ_PXA
bool
depends on CPU_FREQ && ARCH_PXA && PXA25x
default y
+ select CPU_FREQ_TABLE
select CPU_FREQ_DEFAULT_GOV_USERSPACE
config CPU_FREQ_S3C
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (18 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 9:50 ` Eric Miao
2011-10-01 20:03 ` [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld Arnd Bergmann
` (5 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The saar and tevorevb platforms call pxafb_smart_flush from board
code, and that function is defined in the framebuffer code, so it
cannot be disabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index bb310d0..cd94f2f 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -61,11 +61,15 @@ config MACH_TAVOREVB
bool "PXA930 Evaluation Board (aka TavorEVB)"
select PXA3xx
select CPU_PXA930
+ select FB_PXA
+ select FB
config MACH_SAAR
bool "PXA930 Handheld Platform (aka SAAR)"
select PXA3xx
select CPU_PXA930
+ select FB_PXA
+ select FB
comment "Third Party Dev Platforms (sorted by vendor name)"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (19 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 9:59 ` Eric Miao
2011-10-01 20:03 ` [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled Arnd Bergmann
` (4 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The raumfeld platform code calls power_supply_set_battery_charged
which is part of the power supply layer, so that always has
to be enabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index cd94f2f..491c522 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -453,15 +453,18 @@ config MACH_RAUMFELD_RC
bool "Raumfeld Controller"
select PXA3xx
select CPU_PXA300
+ select POWER_SUPPLY
select HAVE_PWM
config MACH_RAUMFELD_CONNECTOR
bool "Raumfeld Connector"
+ select POWER_SUPPLY
select PXA3xx
select CPU_PXA300
config MACH_RAUMFELD_SPEAKER
bool "Raumfeld Speaker"
+ select POWER_SUPPLY
select PXA3xx
select CPU_PXA300
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (20 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 10:10 ` Eric Miao
2011-10-01 20:03 ` [PATCH 23/26] ARM: pxa: viper: select I2C_GPIO only when I2C is on Arnd Bergmann
` (3 subsequent siblings)
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The smc91x driver is not strictly required for xcep, but it
can only be enabled if ethernet support is built into the
kernel, so make the dependency more specific.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 491c522..ef35ce9 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -174,7 +174,7 @@ config MACH_XCEP
select MTD_CFI_INTELEXT
select MTD_CFI
select MTD_CHAR
- select SMC91X
+ select SMC91X if NET_ETHERNET
help
PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash.
Tuned for usage in Libera instruments for particle accelerators.
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 23/26] ARM: pxa: viper: select I2C_GPIO only when I2C is on
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (21 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x Arnd Bergmann
` (2 subsequent siblings)
25 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The viper platform selects the i2c_gpio driver, but that does
not build when i2c itself is disabled. Rather than also selecting
i2c, this makes the select conditional.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index ef35ce9..568b7f6 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -81,7 +81,7 @@ config ARCH_VIPER
bool "Arcom/Eurotech VIPER SBC"
select PXA25x
select ISA
- select I2C_GPIO
+ select I2C_GPIO if I2C
select HAVE_PWM
select PXA_HAVE_ISA_IRQS
select ARCOM_PCMCIA
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (22 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 23/26] ARM: pxa: viper: select I2C_GPIO only when I2C is on Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 10:20 ` Eric Miao
2011-10-01 20:03 ` [PATCH 25/26] ARM: pxa: eseries does not require FB Arnd Bergmann
2011-10-01 20:03 ` [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI Arnd Bergmann
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The two platforms are part of the palm27x family and use the same
code. Select the palm27x symbol to make sure they can be built
standalone.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 568b7f6..da6fca0 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -431,6 +431,7 @@ config MACH_CENTRO
bool "Palm Centro 685 (GSM)"
default y
depends on ARCH_PXA_PALM
+ select MACH_PALM27X
select PXA27x
select IWMMXT
select PALM_TREO
@@ -442,6 +443,7 @@ config MACH_TREO680
bool "Palm Treo 680"
default y
depends on ARCH_PXA_PALM
+ select MACH_PALM27X
select PXA27x
select IWMMXT
select PALM_TREO
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 25/26] ARM: pxa: eseries does not require FB
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (23 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI Arnd Bergmann
25 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
It is possible to build a kernel for eseries without framebuffer support,
so it must not select the w100 driver unconditionally.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index da6fca0..3733971 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -566,7 +566,7 @@ config MACH_ICONTROL
config ARCH_PXA_ESERIES
bool "PXA based Toshiba e-series PDAs"
select PXA25x
- select FB_W100
+ select FB_W100 if FB=y
config MACH_E330
bool "Toshiba e330"
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
` (24 preceding siblings ...)
2011-10-01 20:03 ` [PATCH 25/26] ARM: pxa: eseries does not require FB Arnd Bergmann
@ 2011-10-01 20:03 ` Arnd Bergmann
2011-10-08 10:22 ` Eric Miao
25 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-01 20:03 UTC (permalink / raw)
To: linux-arm-kernel
The sharpsl code selects the max1111 spi driver, so it must also
ensure that SPI itself is enabled. The platform does not work
without max1111.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-pxa/Kconfig | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 3733971..6dee18e 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -710,6 +710,8 @@ config SHARPSL_PM
config SHARPSL_PM_MAX1111
bool
select HWMON
+ select SPI
+ select SPI_MASTER
select SENSORS_MAX1111
config PXA_HAVE_ISA_IRQS
--
1.7.5.4
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT
2011-10-01 20:03 ` [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT Arnd Bergmann
@ 2011-10-02 16:03 ` Russell King - ARM Linux
2011-10-02 17:46 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Russell King - ARM Linux @ 2011-10-02 16:03 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 01, 2011 at 10:03:48PM +0200, Arnd Bergmann wrote:
> The PJ4 based pxa95x cpus all have iwmmxt and there is no way to
> build that code conditionally, so better not ask the user
> in that configuration, in order to prevent broken builds.
This suggests we want IWMMXT=y if PJ4=y...
> config IWMMXT
> - bool "Enable iWMMXt support"
> + bool "Enable iWMMXt support" if !CPU_PJ4
> depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
> default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
> help
This hides the option if CPU_PJ4 is enabled, but it will only be set
to 'y' if PXA27x || PXA3xx || PXA95x || ARCH_MMP are set. Luckily,
ARCH_MMP will be - but is that really what's intended? It's a little
obscure to work that out.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT
2011-10-02 16:03 ` Russell King - ARM Linux
@ 2011-10-02 17:46 ` Arnd Bergmann
2011-10-04 0:59 ` Eric Miao
0 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-02 17:46 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 02 October 2011 17:03:28 Russell King - ARM Linux wrote:
> On Sat, Oct 01, 2011 at 10:03:48PM +0200, Arnd Bergmann wrote:
> > The PJ4 based pxa95x cpus all have iwmmxt and there is no way to
> > build that code conditionally, so better not ask the user
> > in that configuration, in order to prevent broken builds.
>
> This suggests we want IWMMXT=y if PJ4=y...
>
> > config IWMMXT
> > - bool "Enable iWMMXt support"
> > + bool "Enable iWMMXt support" if !CPU_PJ4
> > depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
> > default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
> > help
>
> This hides the option if CPU_PJ4 is enabled, but it will only be set
> to 'y' if PXA27x || PXA3xx || PXA95x || ARCH_MMP are set. Luckily,
> ARCH_MMP will be - but is that really what's intended? It's a little
> obscure to work that out.
It was the idea at least, but you are right: adding an explicit || CPU_PJ4
to the default makes it more robust and more obvious to the reader.
I've replaced this patch with the version below and pushed the result to
same location.
Arnd
8<-----
Subject: [PATCH] ARM: pxa: CPU_PJ4 requires IWMMXT
The PJ4 based pxa95x cpus all have iwmmxt and there is no way to
build that code conditionally, so better not ask the user
in that configuration, in order to prevent broken builds.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5ebc5d9..8d66c32 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1071,9 +1071,10 @@ config ARM_TIMER_SP804
source arch/arm/mm/Kconfig
config IWMMXT
- bool "Enable iWMMXt support"
+ bool "Enable iWMMXt support" if !CPU_PJ4
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
+ default y if CPU_PJ4
help
Enable support for iWMMXt context switching at run time if
running on a CPU that supports it.
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-01 20:03 ` [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err() Arnd Bergmann
@ 2011-10-02 18:16 ` Mark Brown
2011-10-02 18:36 ` Arnd Bergmann
2011-10-02 18:24 ` Mark Brown
1 sibling, 1 reply; 83+ messages in thread
From: Mark Brown @ 2011-10-02 18:16 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 01, 2011 at 10:03:34PM +0200, Arnd Bergmann wrote:
> A recent conversion has introduced references to &pdev->dev, which does
> not actually exist in all the contexts it's used in.
> Replace this with card->dev where necessary, in order to let
> the driver build again.
Applied, thanks. I'm a bit confused about why this is buried in the
middle of some enormous series of some kind?
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-01 20:03 ` [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err() Arnd Bergmann
2011-10-02 18:16 ` Mark Brown
@ 2011-10-02 18:24 ` Mark Brown
1 sibling, 0 replies; 83+ messages in thread
From: Mark Brown @ 2011-10-02 18:24 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 01, 2011 at 10:03:34PM +0200, Arnd Bergmann wrote:
> A recent conversion has introduced references to &pdev->dev, which does
> not actually exist in all the contexts it's used in.
Oh, and please do try to use subject lines which match up with the rest
of the code you're patching - in this case it even looks like whatever
you're using to autogenerate is misfiring as you've got a combination of
- and / in filenames.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-02 18:16 ` Mark Brown
@ 2011-10-02 18:36 ` Arnd Bergmann
2011-10-02 18:44 ` Mark Brown
0 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-02 18:36 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 02 October 2011 19:16:11 Mark Brown wrote:
> On Sat, Oct 01, 2011 at 10:03:34PM +0200, Arnd Bergmann wrote:
> > A recent conversion has introduced references to &pdev->dev, which does
> > not actually exist in all the contexts it's used in.
>
> > Replace this with card->dev where necessary, in order to let
> > the driver build again.
>
> Applied, thanks. I'm a bit confused about why this is buried in the
> middle of some enormous series of some kind?
The series is about trivial build fixes that are specific to pxa.
I was expecting most of them to go through the pxa tree because
I figured out would be easier to keep them together like this.
I also have a few sound/soc fixes in the respective samsung and
omap series, so if you prefer I can move them to a sound/soc
series and submit them all at once to you instead.
> Oh, and please do try to use subject lines which match up with the rest
> of the code you're patching - in this case it even looks like whatever
> you're using to autogenerate is misfiring as you've got a combination of
> - and / in filenames.
The subject line was hand-written, any problem in there is purely
my own. What is the naming you want for sound/soc, should I use
"ASoC: pxa-zylonite:" or "sound/soc/pxa/zylonite:" or something
else?
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-02 18:36 ` Arnd Bergmann
@ 2011-10-02 18:44 ` Mark Brown
2011-10-02 19:48 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Mark Brown @ 2011-10-02 18:44 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 02, 2011 at 08:36:14PM +0200, Arnd Bergmann wrote:
> I also have a few sound/soc fixes in the respective samsung and
> omap series, so if you prefer I can move them to a sound/soc
> series and submit them all at once to you instead.
Please do. It's probably not so important at this point in the release
cycle but we've got a tendency to run into cross tree issues with ASoC
and when it's not trivial build stuff I'd rather review anyway.
Please split the OMAP stuff out, Liam manages the tree for those when
he's available (though right now he's only intermittently online so I'm
applying those too).
> The subject line was hand-written, any problem in there is purely
> my own. What is the naming you want for sound/soc, should I use
> "ASoC: pxa-zylonite:" or "sound/soc/pxa/zylonite:" or something
> else?
ASoC: is the bit that I'm looking for.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err()
2011-10-02 18:44 ` Mark Brown
@ 2011-10-02 19:48 ` Arnd Bergmann
0 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-02 19:48 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 02 October 2011 19:44:17 Mark Brown wrote:
> On Sun, Oct 02, 2011 at 08:36:14PM +0200, Arnd Bergmann wrote:
>
> > I also have a few sound/soc fixes in the respective samsung and
> > omap series, so if you prefer I can move them to a sound/soc
> > series and submit them all at once to you instead.
>
> Please do. It's probably not so important at this point in the release
> cycle but we've got a tendency to run into cross tree issues with ASoC
> and when it's not trivial build stuff I'd rather review anyway.
>
> Please split the OMAP stuff out, Liam manages the tree for those when
> he's available (though right now he's only intermittently online so I'm
> applying those too).
Almost all the patches I have are both trivial and unimportant corner
cases. I'm removing the ones I have from all the other branches now
and will try to get them to you both asap.
> > The subject line was hand-written, any problem in there is purely
> > my own. What is the naming you want for sound/soc, should I use
> > "ASoC: pxa-zylonite:" or "sound/soc/pxa/zylonite:" or something
> > else?
>
> ASoC: is the bit that I'm looking for.
Ok, got it.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT
2011-10-02 17:46 ` Arnd Bergmann
@ 2011-10-04 0:59 ` Eric Miao
2011-10-04 7:33 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-04 0:59 UTC (permalink / raw)
To: linux-arm-kernel
> 8<-----
> Subject: [PATCH] ARM: pxa: CPU_PJ4 requires IWMMXT
>
> The PJ4 based pxa95x cpus all have iwmmxt and there is no way to
> build that code conditionally, so better not ask the user
> in that configuration, in order to prevent broken builds.
I think this is true for other xscale CPUs as well, so either we make
them unconditionally all at once, or we still leave an option here.
It actually looks quite odd to me that CPU_PJ4 is made special here,
what're the real broken builds errors?
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 5ebc5d9..8d66c32 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1071,9 +1071,10 @@ config ARM_TIMER_SP804
> ?source arch/arm/mm/Kconfig
>
> ?config IWMMXT
> - ? ? ? bool "Enable iWMMXt support"
> + ? ? ? bool "Enable iWMMXt support" if !CPU_PJ4
> ? ? ? ?depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
> ? ? ? ?default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
> + ? ? ? default y if CPU_PJ4
> ? ? ? ?help
> ? ? ? ? ?Enable support for iWMMXt context switching at run time if
> ? ? ? ? ?running on a CPU that supports it.
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT
2011-10-04 0:59 ` Eric Miao
@ 2011-10-04 7:33 ` Arnd Bergmann
0 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-04 7:33 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 04 October 2011, Eric Miao wrote:
> I think this is true for other xscale CPUs as well, so either we make
> them unconditionally all at once, or we still leave an option here.
Do all xscale have iwmmxt?
> It actually looks quite odd to me that CPU_PJ4 is made special here,
> what're the real broken builds errors?
Yes.
I should probably have provided a longer description of the problem.
The build error is in arch/arm/kernel/pj4-cp0.c, which calls
iwmmxt_task_release unconditionally. The code is obviously
copy-pasted from arch/arm/kernel/xscale-cp0.c, which does much
of the same, but uses both run-time and compile-time conditionals
for iwmmxt.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
@ 2011-10-06 12:19 ` Felipe Balbi
2011-10-07 2:27 ` Eric Miao
1 sibling, 0 replies; 83+ messages in thread
From: Felipe Balbi @ 2011-10-06 12:19 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Sat, Oct 01, 2011 at 10:03:33PM +0200, Arnd Bergmann wrote:
> A recent commit obsoleted the is_vbus_present function, so
> we must not use it any more.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Felipe Balbi <balbi@ti.com>
If you want to carry this through your tree, I'm fine with it:
Acked-by: Felipe Balbi <balbi@ti.com>
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20111006/25b7f08e/attachment.sig>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
2011-10-06 12:19 ` Felipe Balbi
@ 2011-10-07 2:27 ` Eric Miao
1 sibling, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 2:27 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> A recent commit obsoleted the is_vbus_present function, so
> we must not use it any more.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Felipe Balbi <balbi@ti.com>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
> ---
> ?drivers/usb/gadget/pxa25x_udc.h | ? ?8 +-------
> ?1 files changed, 1 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/usb/gadget/pxa25x_udc.h b/drivers/usb/gadget/pxa25x_udc.h
> index f572c56..6119900 100644
> --- a/drivers/usb/gadget/pxa25x_udc.h
> +++ b/drivers/usb/gadget/pxa25x_udc.h
> @@ -161,8 +161,6 @@ static struct pxa25x_udc *the_controller;
>
> ?#ifdef DEBUG
>
> -static int is_vbus_present(void);
> -
> ?static const char *state_name[] = {
> ? ? ? ?"EP0_IDLE",
> ? ? ? ?"EP0_IN_DATA_PHASE", "EP0_OUT_DATA_PHASE",
> @@ -214,8 +212,7 @@ dump_state(struct pxa25x_udc *dev)
> ? ? ? ?u32 ? ? ? ? ? ? tmp;
> ? ? ? ?unsigned ? ? ? ?i;
>
> - ? ? ? DMSG("%s %s, uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n",
> - ? ? ? ? ? ? ? is_vbus_present() ? "host " : "disconnected",
> + ? ? ? DMSG("%s, uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n",
> ? ? ? ? ? ? ? ?state_name[dev->ep0state],
> ? ? ? ? ? ? ? ?UICR1, UICR0, USIR1, USIR0, UFNRH, UFNRL);
> ? ? ? ?dump_udccr("udccr");
> @@ -232,9 +229,6 @@ dump_state(struct pxa25x_udc *dev)
> ? ? ? ?} else
> ? ? ? ? ? ? ? ?DMSG("ep0 driver '%s'\n", dev->driver->driver.name);
>
> - ? ? ? if (!is_vbus_present())
> - ? ? ? ? ? ? ? return;
> -
> ? ? ? ?dump_udccs0 ("udccs0");
> ? ? ? ?DMSG("ep0 IN %lu/%lu, OUT %lu/%lu\n",
> ? ? ? ? ? ? ? ?dev->stats.write.bytes, dev->stats.write.ops,
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code
2011-10-01 20:03 ` [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code Arnd Bergmann
@ 2011-10-07 3:47 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 3:47 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> When support for zylonite is disabled, the zylonite_pxa300_init
> and zylonite_pxa320_init functions are not there, but the declaration
> is still kept around if any other boards for the same soc are
> enabled. This changes the declaration to be conditional on the
> same symbol as the code.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?arch/arm/mach-pxa/include/mach/zylonite.h | ? ?4 ++--
> ?1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h b/arch/arm/mach-pxa/include/mach/zylonite.h
> index ea24998..ecca976 100644
> --- a/arch/arm/mach-pxa/include/mach/zylonite.h
> +++ b/arch/arm/mach-pxa/include/mach/zylonite.h
> @@ -19,7 +19,7 @@ extern int wm9713_irq;
> ?extern int lcd_id;
> ?extern int lcd_orientation;
>
> -#ifdef CONFIG_CPU_PXA300
> +#ifdef CONFIG_MACH_ZYLONITE300
> ?extern void zylonite_pxa300_init(void);
> ?#else
> ?static inline void zylonite_pxa300_init(void)
> @@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void)
> ?}
> ?#endif
>
> -#ifdef CONFIG_CPU_PXA320
> +#ifdef CONFIG_MACH_ZYLONITE320
> ?extern void zylonite_pxa320_init(void);
> ?#else
> ?static inline void zylonite_pxa320_init(void)
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h
2011-10-01 20:03 ` [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h Arnd Bergmann
@ 2011-10-07 3:48 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 3:48 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> interrupt.h is no longer implicitly included here, so manually
> add it instead.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?drivers/net/pxa168_eth.c | ? ?1 +
> ?1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/pxa168_eth.c b/drivers/net/pxa168_eth.c
> index 1a3033d..d5a6cfc 100644
> --- a/drivers/net/pxa168_eth.c
> +++ b/drivers/net/pxa168_eth.c
> @@ -41,6 +41,7 @@
> ?#include <linux/phy.h>
> ?#include <linux/io.h>
> ?#include <linux/types.h>
> +#include <linux/interrupt.h>
> ?#include <asm/pgtable.h>
> ?#include <asm/system.h>
> ?#include <asm/cacheflush.h>
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 06/26] ARM: pxa: add missing header inclusions
2011-10-01 20:03 ` [PATCH 06/26] ARM: pxa: add missing header inclusions Arnd Bergmann
@ 2011-10-07 5:08 ` Eric Miao
2011-10-08 8:03 ` Russell King - ARM Linux
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-07 5:08 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> These resulted in build breakage in some configurations:
>
> arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/irq.c | ? ?1 +
> ?1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
> index b09e848..848e96d 100644
> --- a/arch/arm/mach-pxa/irq.c
> +++ b/arch/arm/mach-pxa/irq.c
> @@ -16,6 +16,7 @@
> ?#include <linux/module.h>
> ?#include <linux/interrupt.h>
> ?#include <linux/syscore_ops.h>
> +#include <linux/ftrace.h>
It's actually __irq_entry being defined in <linux/ftrace.h> and in turn
__exception_irq_entry being conditionally defined to that.
I think it's better to fix this in <asm/system.h> instead of in the
cases where this macro is referenced?
Russell?
> ?#include <linux/io.h>
> ?#include <linux/irq.h>
>
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code
2011-10-01 20:03 ` [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code Arnd Bergmann
@ 2011-10-07 5:10 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 5:10 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> This code has not worked for a long time, and even the
> Makefile entry for building the file was misspelled.
> Mark it as broken.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
> ---
> ?drivers/video/Kconfig ? ? ?| ? ?2 +-
> ?drivers/video/mbx/Makefile | ? ?2 +-
> ?2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index 549b960..45494c0 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -1932,7 +1932,7 @@ config FB_MBX
>
> ?config FB_MBX_DEBUG
> ? ? ? ?bool "Enable debugging info via debugfs"
> - ? ? ? depends on FB_MBX && DEBUG_FS
> + ? ? ? depends on FB_MBX && DEBUG_FS && BROKEN
> ? ? ? ?default n
> ? ? ? ?---help---
> ? ? ? ? ?Enable this if you want debugging information using the debug
> diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
> index 16c1165..a315abc 100644
> --- a/drivers/video/mbx/Makefile
> +++ b/drivers/video/mbx/Makefile
> @@ -1,4 +1,4 @@
> ?# Makefile for the 2700G controller driver.
>
> ?obj-$(CONFIG_FB_MBX) ? ? ?+= mbxfb.o
> -obj-$(CONFIG_FB_MBX_DEBUG) += mbxfbdebugfs.o
> +obj-$(CONFIG_FB_MBX_DEBUG) += mbxdebugfs.o
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-01 20:03 ` [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend Arnd Bergmann
@ 2011-10-07 5:59 ` Eric Miao
2011-10-07 9:56 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-07 5:59 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The cpu_suspend code on pxa has recently changed, and the
> z2 board did not get updated yet. This makes it do the
> same as the other boards.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/z2.c | ? ?3 ++-
> ?1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
> index 6c9275a..109447b 100644
> --- a/arch/arm/mach-pxa/z2.c
> +++ b/arch/arm/mach-pxa/z2.c
> @@ -31,6 +31,7 @@
> ?#include <linux/regulator/machine.h>
> ?#include <linux/i2c/pxa-i2c.h>
>
> +#include <asm/suspend.h>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
>
> @@ -686,7 +687,7 @@ static void z2_power_off(void)
> ? ? ? ? */
> ? ? ? ?PSPR = 0x0;
> ? ? ? ?local_irq_disable();
> - ? ? ? pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
> + ? ? ? cpu_suspend(PWRMODE_DEEPSLEEP, pxa27x_finish_suspend);
> ?}
> ?#else
> ?#define z2_power_off ? NULL
> --
> 1.7.5.4
>
This might not be the safest way to convert. I've proposed a patch weeks ago
as below:
commit 3f7961cbd3428c8639d42d1a51870466e4cbb0eb
Author: Eric Miao <eric.y.miao@gmail.com>
Date: Sun Sep 11 17:19:11 2011 +0800
ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
index 6c9275a..6fa4e74 100644
--- a/arch/arm/mach-pxa/z2.c
+++ b/arch/arm/mach-pxa/z2.c
@@ -679,6 +679,8 @@ static inline void z2_pmic_init(void) {}
#endif
#ifdef CONFIG_PM
+extern void pxa27x_cpu_pm_enter(suspend_state_t state);
+
static void z2_power_off(void)
{
/* We're using deep sleep as poweroff, so clear PSPR to ensure that
@@ -686,7 +688,8 @@ static void z2_power_off(void)
*/
PSPR = 0x0;
local_irq_disable();
- pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
+ pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP);
+ pxa27x_cpu_pm_enter(PM_SUSPEND_MEM);
}
#else
#define z2_power_off NULL
>
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi
2011-10-01 20:03 ` [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi Arnd Bergmann
@ 2011-10-07 6:01 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 6:01 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The pxa3xx_u2d_start_hc/pxa3xx_u2d_stop_hc symbols are used by the
> ohci-pxa27x driver, which can be a module.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied. Cc'ed Igor Grinberg <grinberg@compulab.co.il>.
> ---
> ?arch/arm/mach-pxa/pxa3xx-ulpi.c | ? ?2 ++
> ?1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/pxa3xx-ulpi.c b/arch/arm/mach-pxa/pxa3xx-ulpi.c
> index ce7168b..e28dfb8 100644
> --- a/arch/arm/mach-pxa/pxa3xx-ulpi.c
> +++ b/arch/arm/mach-pxa/pxa3xx-ulpi.c
> @@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host)
>
> ? ? ? ?return err;
> ?}
> +EXPORT_SYMBOL_GPL(pxa3xx_u2d_start_hc);
>
> ?void pxa3xx_u2d_stop_hc(struct usb_bus *host)
> ?{
> @@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host)
>
> ? ? ? ?clk_disable(u2d->clk);
> ?}
> +EXPORT_SYMBOL_GPL(pxa3xx_u2d_stop_hc);
>
> ?static int pxa3xx_u2d_probe(struct platform_device *pdev)
> ?{
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO
2011-10-01 20:03 ` [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO Arnd Bergmann
@ 2011-10-07 6:12 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 6:12 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> There are two variants of the palmtreo machine, the 680 and the
> centro, and Kconfig allows selecting one or both of them.
> This changes the board file so that it's actually possible
> to build all configurations that are allowed.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Looks good to me. Applied.
Cc'ed Marek Vasut.
> ---
> ?arch/arm/mach-pxa/palmtreo.c | ? ?8 ++++++++
> ?1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
> index bb27d4b..30364b0 100644
> --- a/arch/arm/mach-pxa/palmtreo.c
> +++ b/arch/arm/mach-pxa/palmtreo.c
> @@ -423,6 +423,7 @@ static void __init palmphone_common_init(void)
> ? ? ? ?palmtreo_leds_init();
> ?}
>
> +#ifdef CONFIG_MACH_TREO680
> ?static void __init treo680_init(void)
> ?{
> ? ? ? ?pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
> @@ -430,7 +431,9 @@ static void __init treo680_init(void)
> ? ? ? ?palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY,
> ? ? ? ? ? ? ? ? ? ? ? ?GPIO_NR_TREO680_SD_POWER, 0);
> ?}
> +#endif
>
> +#ifdef CONFIG_MACH_CENTRO
> ?static void __init centro_init(void)
> ?{
> ? ? ? ?pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
> @@ -438,7 +441,9 @@ static void __init centro_init(void)
> ? ? ? ?palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1,
> ? ? ? ? ? ? ? ? ? ? ? ?GPIO_NR_CENTRO_SD_POWER, 1);
> ?}
> +#endif
>
> +#ifdef CONFIG_MACH_TREO680
> ?MACHINE_START(TREO680, "Palm Treo 680")
> ? ? ? ?.boot_params ? ?= 0xa0000100,
> ? ? ? ?.map_io ? ? ? ? = pxa27x_map_io,
> @@ -448,7 +453,9 @@ MACHINE_START(TREO680, "Palm Treo 680")
> ? ? ? ?.timer ? ? ? ? ?= &pxa_timer,
> ? ? ? ?.init_machine ? = treo680_init,
> ?MACHINE_END
> +#endif
>
> +#ifdef CONFIG_MACH_CENTRO
> ?MACHINE_START(CENTRO, "Palm Centro 685")
> ? ? ? ?.boot_params ? ?= 0xa0000100,
> ? ? ? ?.map_io ? ? ? ? = pxa27x_map_io,
> @@ -458,3 +465,4 @@ MACHINE_START(CENTRO, "Palm Centro 685")
> ? ? ? ?.timer ? ? ? ? ?= &pxa_timer,
> ? ? ? ?.init_machine ? = centro_init,
> ?MACHINE_END
> +#endif
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb
2011-10-01 20:03 ` [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb Arnd Bergmann
@ 2011-10-07 6:19 ` Eric Miao
2011-10-07 9:57 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-07 6:19 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The frame buffer device is defined conditionally on whether the
> driver is configured. However, the #ifdef guard around the
> declaration of palm27x_lcd_init also removes the visibility
> of the lcd mode declarations, which need to be available in
> order to build correctly, even if they are not defined in the
> end.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/include/mach/palm27x.h | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h
> index 0a5e5ea..030a916 100644
> --- a/arch/arm/mach-pxa/include/mach/palm27x.h
> +++ b/arch/arm/mach-pxa/include/mach/palm27x.h
> @@ -27,10 +27,10 @@ extern void __init palm27x_pm_init(unsigned long str_base);
> ?static inline void palm27x_pm_init(unsigned long str_base) {}
> ?#endif
>
> -#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> ?extern struct pxafb_mode_info palm_320x480_lcd_mode;
> ?extern struct pxafb_mode_info palm_320x320_lcd_mode;
> ?extern struct pxafb_mode_info palm_320x320_new_lcd_mode;
> +#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> ?extern void __init palm27x_lcd_init(int power,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct pxafb_mode_info *mode);
> ?#else
> --
> 1.7.5.4
Marek and I actually came up with a patch to fix this as below, this
way to cover the declarations of those modes in the CONFIG_FB_PXA
as well.
commit e227e88ae46e921f608b056e27e1d8704b7d12fa
Author: Eric Miao <eric.y.miao@gmail.com>
Date: Sun Sep 11 16:56:58 2011 +0800
ARM: pxa: fix building error by palm27x_lcd_init() when FB_PXA not defined
Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h
b/arch/arm/mach-pxa/include/mach/palm27x.h
index 0a5e5ea..f80bbe2 100644
--- a/arch/arm/mach-pxa/include/mach/palm27x.h
+++ b/arch/arm/mach-pxa/include/mach/palm27x.h
@@ -34,7 +34,7 @@ extern struct pxafb_mode_info palm_320x320_new_lcd_mode;
extern void __init palm27x_lcd_init(int power,
struct pxafb_mode_info *mode);
#else
-static inline void palm27x_lcd_init(int power, struct pxafb_mode_info *mode) {}
+#define palm27x_lcd_init(power, mode) do {} while (0)
#endif
#if defined(CONFIG_USB_GADGET_PXA27X) || \
>
>
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code
2011-10-01 20:03 ` [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code Arnd Bergmann
@ 2011-10-07 7:28 ` Eric Miao
2011-10-07 9:59 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-07 7:28 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> saarb uses pxa3xx_map_io and pxa3xx_handle_irq, which are part
> of the pxa3xx code. This makes sure the necessary header and
> implementation is used when building the board file.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/Makefile | ? ?2 +-
> ?arch/arm/mach-pxa/saarb.c ?| ? ?2 ++
> ?2 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
> index cc39d17..be0f7df 100644
> --- a/arch/arm/mach-pxa/Makefile
> +++ b/arch/arm/mach-pxa/Makefile
> @@ -19,7 +19,7 @@ endif
> ?obj-$(CONFIG_PXA25x) ? ? ? ? ? += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o
> ?obj-$(CONFIG_PXA27x) ? ? ? ? ? += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o
> ?obj-$(CONFIG_PXA3xx) ? ? ? ? ? += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o
> -obj-$(CONFIG_PXA95x) ? ? ? ? ? += mfp-pxa3xx.o clock-pxa3xx.o pxa95x.o smemc.o
> +obj-$(CONFIG_PXA95x) ? ? ? ? ? += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o pxa95x.o smemc.o
> ?obj-$(CONFIG_CPU_PXA300) ? ? ? += pxa300.o
> ?obj-$(CONFIG_CPU_PXA320) ? ? ? += pxa320.o
> ?obj-$(CONFIG_CPU_PXA930) ? ? ? += pxa930.o
> diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c
> index ebd6379..829c514 100644
> --- a/arch/arm/mach-pxa/saarb.c
> +++ b/arch/arm/mach-pxa/saarb.c
> @@ -25,6 +25,8 @@
> ?#include <mach/mfp-pxa930.h>
> ?#include <mach/gpio.h>
>
> +#include <mach/pxa930.h>
> +
> ?#include "generic.h"
>
> ?#define SAARB_NR_IRQS ?(IRQ_BOARD_START + 40)
> --
> 1.7.5.4
>
>
PXA95x is actually PJ4 based, which is ARMv7/v6 compatible, not
like it's predecessor PXA93x. Although they are currently sharing
some code, I expect a fork in the near future. To cause less confusion
here, I'd propose to further introduce pxa95x.h, and to remove
the unnecessary #include of <mach/mfp.h> and <mach/mfp-pxa930.h>
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index cc39d17..be0f7df 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -19,7 +19,7 @@ endif
obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o
obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o
obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o
pxa3xx-ulpi.o
-obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa95x.o smemc.o
+obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o pxa95x.o smemc.o
obj-$(CONFIG_CPU_PXA300) += pxa300.o
obj-$(CONFIG_CPU_PXA320) += pxa320.o
obj-$(CONFIG_CPU_PXA930) += pxa930.o
diff --git a/arch/arm/mach-pxa/include/mach/pxa95x.h
b/arch/arm/mach-pxa/include/mach/pxa95x.h
new file mode 100644
index 0000000..cbb097c
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/pxa95x.h
@@ -0,0 +1,7 @@
+#ifndef __MACH_PXA95X_H
+#define __MACH_PXA95X_H
+
+#include <mach/pxa3xx.h>
+#include <mach/mfp-pxa930.h>
+
+#endif /* __MACH_PXA95X_H */
diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c
index ebd6379..aebd5d9 100644
--- a/arch/arm/mach-pxa/saarb.c
+++ b/arch/arm/mach-pxa/saarb.c
@@ -21,9 +21,8 @@
#include <mach/irqs.h>
#include <mach/hardware.h>
-#include <mach/mfp.h>
-#include <mach/mfp-pxa930.h>
#include <mach/gpio.h>
+#include <mach/pxa95x.h>
#include "generic.h"
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 13/26] ARM: pxa: use correct __iomem annotations
2011-10-01 20:03 ` [PATCH 13/26] ARM: pxa: use correct __iomem annotations Arnd Bergmann
@ 2011-10-07 8:11 ` Eric Miao
2011-10-07 8:51 ` Russell King - ARM Linux
2011-10-07 10:16 ` Arnd Bergmann
0 siblings, 2 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 8:11 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> This tries to clear up the confusion between integers and iomem pointers
> in the marvell pxa platform. MMIO addresses are supposed to be __iomem*
> values, in order to let the Linux type checking work correctly. This
> patch moves the cast to __iomem as far back as possible, to the place
> where the MMIO virtual address windows are defined.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/include/asm/hardware/it8152.h ? ?| ? ?2 +-
> ?arch/arm/mach-mmp/clock.h ? ? ? ? ? ? ? ? | ? ?8 ++++----
> ?arch/arm/mach-mmp/common.c ? ? ? ? ? ? ? ?| ? ?4 ++--
> ?arch/arm/mach-mmp/include/mach/addr-map.h | ? 10 ++++++++--
> ?arch/arm/mach-mmp/mmp2.c ? ? ? ? ? ? ? ? ?| ? ?3 ++-
> ?arch/arm/mach-pxa/balloon3.c ? ? ? ? ? ? ?| ? 10 +++++-----
> ?arch/arm/mach-pxa/cm-x2xx-pci.c ? ? ? ? ? | ? ?2 +-
> ?arch/arm/mach-pxa/cm-x2xx.c ? ? ? ? ? ? ? | ? ?4 ++--
> ?arch/arm/mach-pxa/include/mach/addr-map.h | ? ?8 ++++----
> ?arch/arm/mach-pxa/include/mach/balloon3.h | ? ?2 +-
> ?arch/arm/mach-pxa/include/mach/hardware.h | ? ?9 +++++----
> ?arch/arm/mach-pxa/include/mach/lpd270.h ? | ? ?4 ++--
> ?arch/arm/mach-pxa/include/mach/mtd-xip.h ?| ? ?1 -
> ?arch/arm/mach-pxa/include/mach/palmtx.h ? | ? ?6 +++---
> ?arch/arm/mach-pxa/include/mach/smemc.h ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/include/mach/zeus.h ? ? | ? ?4 ++--
> ?arch/arm/mach-pxa/irq.c ? ? ? ? ? ? ? ? ? | ? ?4 ++--
> ?arch/arm/mach-pxa/lpd270.c ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/palmtx.c ? ? ? ? ? ? ? ?| ? ?8 ++++----
> ?arch/arm/mach-pxa/pxa25x.c ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/pxa27x.c ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/pxa3xx.c ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/mach-pxa/zeus.c ? ? ? ? ? ? ? ? ?| ? ?8 ++++----
> ?arch/arm/plat-pxa/gpio.c ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?arch/arm/plat-pxa/include/plat/mfp.h ? ? ?| ? ?2 +-
> ?arch/arm/plat-pxa/mfp.c ? ? ? ? ? ? ? ? ? | ? ?4 ++--
> ?drivers/pcmcia/pxa2xx_balloon3.c ? ? ? ? ?| ? ?2 +-
> ?drivers/video/mbx/mbxfb.c ? ? ? ? ? ? ? ? | ? ?6 +++---
> ?28 files changed, 65 insertions(+), 58 deletions(-)
>
> diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h
> index b3fea38..43cab49 100644
> --- a/arch/arm/include/asm/hardware/it8152.h
> +++ b/arch/arm/include/asm/hardware/it8152.h
> @@ -9,7 +9,7 @@
>
> ?#ifndef __ASM_HARDWARE_IT8152_H
> ?#define __ASM_HARDWARE_IT8152_H
> -extern unsigned long it8152_base_address;
> +extern void __iomem *it8152_base_address;
>
> ?#define IT8152_IO_BASE ? ? ? ? ? ? ? ? (it8152_base_address + 0x03e00000)
> ?#define IT8152_CFGREG_BASE ? ? ? ? ? ? (it8152_base_address + 0x03f00000)
> diff --git a/arch/arm/mach-mmp/clock.h b/arch/arm/mach-mmp/clock.h
> index 3143e99..149b30c 100644
> --- a/arch/arm/mach-mmp/clock.h
> +++ b/arch/arm/mach-mmp/clock.h
> @@ -30,7 +30,7 @@ extern struct clkops apmu_clk_ops;
>
> ?#define APBC_CLK(_name, _reg, _fnclksel, _rate) ? ? ? ? ? ? ? ? ? ? ? ?\
> ?struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> - ? ? ? ? ? ? ? .clk_rst ? ? ? ?= (void __iomem *)APBC_##_reg, ?\
> + ? ? ? ? ? ? ? .clk_rst ? ? ? ?= APBC_##_reg, ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.fnclksel ? ? ? = _fnclksel, ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.rate ? ? ? ? ? = _rate, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.ops ? ? ? ? ? ?= &apbc_clk_ops, ? ? ? ? ? ? ? ?\
> @@ -38,7 +38,7 @@ struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
>
> ?#define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) ? ? ?\
> ?struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> - ? ? ? ? ? ? ? .clk_rst ? ? ? ?= (void __iomem *)APBC_##_reg, ?\
> + ? ? ? ? ? ? ? .clk_rst ? ? ? ?= APBC_##_reg, ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.fnclksel ? ? ? = _fnclksel, ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.rate ? ? ? ? ? = _rate, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.ops ? ? ? ? ? ?= _ops, ? ? ? ? ? ? ? ? ? ? ? ? \
> @@ -46,7 +46,7 @@ struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
>
> ?#define APMU_CLK(_name, _reg, _eval, _rate) ? ? ? ? ? ? ? ? ? ?\
> ?struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> - ? ? ? ? ? ? ? .clk_rst ? ? ? ?= (void __iomem *)APMU_##_reg, ?\
> + ? ? ? ? ? ? ? .clk_rst ? ? ? ?= APMU_##_reg, ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.enable_val ? ? = _eval, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.rate ? ? ? ? ? = _rate, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.ops ? ? ? ? ? ?= &apmu_clk_ops, ? ? ? ? ? ? ? ?\
> @@ -54,7 +54,7 @@ struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\
>
> ?#define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) ? ? ? ? ?\
> ?struct clk clk_##_name = { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \
> - ? ? ? ? ? ? ? .clk_rst ? ? ? ?= (void __iomem *)APMU_##_reg, ?\
> + ? ? ? ? ? ? ? .clk_rst ? ? ? ?= APMU_##_reg, ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.enable_val ? ? = _eval, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.rate ? ? ? ? ? = _rate, ? ? ? ? ? ? ? ? ? ? ? ?\
> ? ? ? ? ? ? ? ?.ops ? ? ? ? ? ?= _ops, ? ? ? ? ? ? ? ? ? ? ? ? \
> diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
> index 0ec0ca8..5720674 100644
> --- a/arch/arm/mach-mmp/common.c
> +++ b/arch/arm/mach-mmp/common.c
> @@ -27,12 +27,12 @@ EXPORT_SYMBOL(mmp_chip_id);
> ?static struct map_desc standard_io_desc[] __initdata = {
> ? ? ? ?{
> ? ? ? ? ? ? ? ?.pfn ? ? ? ? ? ?= __phys_to_pfn(APB_PHYS_BASE),
> - ? ? ? ? ? ? ? .virtual ? ? ? ?= APB_VIRT_BASE,
> + ? ? ? ? ? ? ? .virtual ? ? ? ?= (unsigned long)APB_VIRT_BASE,
> ? ? ? ? ? ? ? ?.length ? ? ? ? = APB_PHYS_SIZE,
> ? ? ? ? ? ? ? ?.type ? ? ? ? ? = MT_DEVICE,
> ? ? ? ?}, {
> ? ? ? ? ? ? ? ?.pfn ? ? ? ? ? ?= __phys_to_pfn(AXI_PHYS_BASE),
> - ? ? ? ? ? ? ? .virtual ? ? ? ?= AXI_VIRT_BASE,
> + ? ? ? ? ? ? ? .virtual ? ? ? ?= (unsigned long)AXI_VIRT_BASE,
> ? ? ? ? ? ? ? ?.length ? ? ? ? = AXI_PHYS_SIZE,
> ? ? ? ? ? ? ? ?.type ? ? ? ? ? = MT_DEVICE,
> ? ? ? ?},
> diff --git a/arch/arm/mach-mmp/include/mach/addr-map.h b/arch/arm/mach-mmp/include/mach/addr-map.h
> index 3254089..3e404ac 100644
> --- a/arch/arm/mach-mmp/include/mach/addr-map.h
> +++ b/arch/arm/mach-mmp/include/mach/addr-map.h
> @@ -11,6 +11,12 @@
> ?#ifndef __ASM_MACH_ADDR_MAP_H
> ?#define __ASM_MACH_ADDR_MAP_H
>
> +#ifndef __ASSEMBLER__
> +#define IOMEM(x) ? ? ? ((void __iomem *)(x))
> +#else
> +#define IOMEM(x) ? ? ? (x)
> +#endif
> +
> ?/* APB - Application Subsystem Peripheral Bus
> ?*
> ?* NOTE: the DMA controller registers are actually on the AXI fabric #1
> @@ -18,11 +24,11 @@
> ?* peripherals on APB, let's count it into the ABP mapping area.
> ?*/
> ?#define APB_PHYS_BASE ? ? ? ? ?0xd4000000
> -#define APB_VIRT_BASE ? ? ? ? ?0xfe000000
> +#define APB_VIRT_BASE ? ? ? ? ?IOMEM(0xfe000000)
To be honest, I'd really like to keep the *_VIRT_BASE definitions to be
type independent.
And have the actual register definitions to be casted to void __iomem *
when being defined, e.g.
#define APBC_REG(x) IOMEM(APBC_VIRT_BASE + (x))
#define APBC_UART1 APBC_REG(0x000)
Arnd, do we have some standard guidelines on this for all SoCs
to follow? As I know, it's currently still being a mess.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 14/26] mtd: nand_h1900 never worked
2011-10-01 20:03 ` [PATCH 14/26] mtd: nand_h1900 never worked Arnd Bergmann
@ 2011-10-07 8:21 ` Eric Miao
2011-10-16 11:38 ` Artem Bityutskiy
1 sibling, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 8:21 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> This driver has been broken through all of git history and
> cannot even be built. Better mark it as broken. Next stop is
> removing from the tree.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Artem Bityutskiy <dedekind1@gmail.com>
> Cc: Jamie Iles <jamie@jamieiles.com>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
> ---
> ?drivers/mtd/nand/Kconfig | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index 4c342523..f85af18 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -92,7 +92,7 @@ config MTD_NAND_EDB7312
>
> ?config MTD_NAND_H1900
> ? ? ? ?tristate "iPAQ H1900 flash"
> - ? ? ? depends on ARCH_PXA
> + ? ? ? depends on ARCH_PXA && BROKEN
> ? ? ? ?help
> ? ? ? ? ?This enables the driver for the iPAQ h1900 flash.
>
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 15/26] irda/ficp: only works on some pxa models
2011-10-01 20:03 ` [PATCH 15/26] irda/ficp: only works on some pxa models Arnd Bergmann
@ 2011-10-07 8:22 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-07 8:22 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> This driver can only be built for pxa25x and pxa27x at the moment,
> so encode that in Kconfig.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: Samuel Ortiz <samuel@sortiz.org>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
> ---
> ?drivers/net/irda/Kconfig | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig
> index 25bb2a0..8cffd38 100644
> --- a/drivers/net/irda/Kconfig
> +++ b/drivers/net/irda/Kconfig
> @@ -373,7 +373,7 @@ config VIA_FIR
>
> ?config PXA_FICP
> ? ? ? ?tristate "Intel PXA2xx Internal FICP"
> - ? ? ? depends on ARCH_PXA && IRDA
> + ? ? ? depends on ARCH_PXA && IRDA && (PXA25x || PXA27x)
> ? ? ? ?help
> ? ? ? ? ?Say Y or M here if you want to build support for the PXA2xx
> ? ? ? ? ?built-in IRDA interface which can support both SIR and FIR.
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 13/26] ARM: pxa: use correct __iomem annotations
2011-10-07 8:11 ` Eric Miao
@ 2011-10-07 8:51 ` Russell King - ARM Linux
2011-10-07 10:16 ` Arnd Bergmann
1 sibling, 0 replies; 83+ messages in thread
From: Russell King - ARM Linux @ 2011-10-07 8:51 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Oct 07, 2011 at 04:11:01PM +0800, Eric Miao wrote:
> To be honest, I'd really like to keep the *_VIRT_BASE definitions to be
> type independent.
>
> And have the actual register definitions to be casted to void __iomem *
> when being defined, e.g.
>
> #define APBC_REG(x) IOMEM(APBC_VIRT_BASE + (x))
>
> #define APBC_UART1 APBC_REG(0x000)
>
> Arnd, do we have some standard guidelines on this for all SoCs
> to follow? As I know, it's currently still being a mess.
It makes much more sense for the base address to be correctly typed (even
though it does mean a cast in the map_desc tables). It avoids type
problems if someone does readl(APBC_VIRT_BASE + reg) somewhere, and
also avoids type problems should someone decide to pass the base address
around.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-07 5:59 ` Eric Miao
@ 2011-10-07 9:56 ` Arnd Bergmann
2011-10-08 12:37 ` Eric Miao
0 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-07 9:56 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 07 October 2011, Eric Miao wrote:
> commit 3f7961cbd3428c8639d42d1a51870466e4cbb0eb
> Author: Eric Miao <eric.y.miao@gmail.com>
> Date: Sun Sep 11 17:19:11 2011 +0800
>
> ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
>
> Cc: Vasily Khoruzhick <anarsoul@gmail.com>
> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
>
> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
> index 6c9275a..6fa4e74 100644
> --- a/arch/arm/mach-pxa/z2.c
> +++ b/arch/arm/mach-pxa/z2.c
> @@ -679,6 +679,8 @@ static inline void z2_pmic_init(void) {}
> #endif
>
> #ifdef CONFIG_PM
> +extern void pxa27x_cpu_pm_enter(suspend_state_t state);
> +
> static void z2_power_off(void)
> {
> /* We're using deep sleep as poweroff, so clear PSPR to ensure that
You really shouldn't have an extern declaration in a .c file. Otherwise
looks good to me.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb
2011-10-07 6:19 ` Eric Miao
@ 2011-10-07 9:57 ` Arnd Bergmann
0 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-07 9:57 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 07 October 2011, Eric Miao wrote:
> Marek and I actually came up with a patch to fix this as below, this
> way to cover the declarations of those modes in the CONFIG_FB_PXA
> as well.
>
> commit e227e88ae46e921f608b056e27e1d8704b7d12fa
> Author: Eric Miao <eric.y.miao@gmail.com>
> Date: Sun Sep 11 16:56:58 2011 +0800
>
> ARM: pxa: fix building error by palm27x_lcd_init() when FB_PXA not defined
>
> Cc: Marek Vasut <marek.vasut@gmail.com>
> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Yes, that looks better than my solution
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code
2011-10-07 7:28 ` Eric Miao
@ 2011-10-07 9:59 ` Arnd Bergmann
0 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-07 9:59 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 07 October 2011, Eric Miao wrote:
> PXA95x is actually PJ4 based, which is ARMv7/v6 compatible, not
> like it's predecessor PXA93x. Although they are currently sharing
> some code, I expect a fork in the near future. To cause less confusion
> here, I'd propose to further introduce pxa95x.h, and to remove
> the unnecessary #include of <mach/mfp.h> and <mach/mfp-pxa930.h>
Yes, looks good.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 13/26] ARM: pxa: use correct __iomem annotations
2011-10-07 8:11 ` Eric Miao
2011-10-07 8:51 ` Russell King - ARM Linux
@ 2011-10-07 10:16 ` Arnd Bergmann
2011-10-08 12:43 ` Eric Miao
1 sibling, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-07 10:16 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 07 October 2011, Eric Miao wrote:
> > @@ -18,11 +24,11 @@
> > * peripherals on APB, let's count it into the ABP mapping area.
> > */
> > #define APB_PHYS_BASE 0xd4000000
> > -#define APB_VIRT_BASE 0xfe000000
> > +#define APB_VIRT_BASE IOMEM(0xfe000000)
>
> To be honest, I'd really like to keep the *_VIRT_BASE definitions to be
> type independent.
>
> And have the actual register definitions to be casted to void __iomem *
> when being defined, e.g.
>
> #define APBC_REG(x) IOMEM(APBC_VIRT_BASE + (x))
>
> #define APBC_UART1 APBC_REG(0x000)
>
> Arnd, do we have some standard guidelines on this for all SoCs
> to follow? As I know, it's currently still being a mess.
We don't have any formal guidelines yet, but I'd really love to get
rid of all the arbitrary type casts to make use of the built-in
type checking of the compiler and sparse. A virtual base address
for registers is conventionally an __iomem pointer, so defining it
as something else is completely bogus. I have started making patches
for a number of platforms for this.
Ideally we should have very little code directly using, but the fact
is that they are there and we won't remove them all anytime soon, so
we should at least use the correct types here.
Another issue that goes together with this is that right now our
readl/writel macros accept any input type (pointer, __iomem pointer,
unsigned long, unsigned int), and I have a patch to make that stricter
but that requires fixing up all the places where we do a
readl(APBC_VIRT_BASE + x) that Russell mentioned.
The only place where this requires adding extra type casts right now is
the iotable setup, which I hope we can also fix eventually by splitting
the static I/O mapping setup from other static mappings (MT_MEMORY,
MT_MEMORY_NONCACHED, ...).
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-01 20:03 ` [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa Arnd Bergmann
@ 2011-10-08 2:57 ` Haojian Zhuang
2011-10-08 3:21 ` Eric Miao
0 siblings, 1 reply; 83+ messages in thread
From: Haojian Zhuang @ 2011-10-08 2:57 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> We cannot support ARMv5 and ARMv7 based boards in a single kernel,
> so introduce a new option in mach-pxa to select between the two.
>
> The PJ4 (ARMv7) based boards are now only visible when
> CONFIG_ARCH_PXA_V7 is set, the other boards are only visible
> when it's not set.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/Kconfig | ? 31 ++++++++++++++++++++++---------
> ?1 files changed, 22 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index cd19309..bb310d0 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -2,6 +2,27 @@ if ARCH_PXA
>
> ?menu "Intel PXA2xx/PXA3xx Implementations"
>
> +config ARCH_PXA_V7
> + ? ? ? bool "ARMv7 (PXA95x) based systems"
> +
> +if ARCH_PXA_V7
> +comment "Marvell Dev Platforms (sorted by hardware release time)"
> +config MACH_TAVOREVB3
> + ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
> + ? ? ? select CPU_PXA955
> +
> +config MACH_SAARB
> + ? ? ? bool "PXA955 Handheld Platform (aka SAARB)"
> + ? ? ? select CPU_PXA955
> +endif
> +
> +config PXA_V7_MACH_AUTO
> + ? ? ? def_bool y
> + ? ? ? depends on ARCH_PXA_V7
> + ? ? ? depends on !MACH_SAARB
> + ? ? ? select MACH_TAVOREVB3
> +
Could we avoid to use PXA_V7_MACH_AUTO? I think the better way is
defining a new ARCH (ARCH_PXA95X or something else), and sharing the
code in arch/arm/mach-pxa. I think that it's easy to implement.
How about you, Russell & Eric?
> +if !ARCH_PXA_V7
> ?comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
>
> ?config ARCH_LUBBOCK
> @@ -41,19 +62,11 @@ config MACH_TAVOREVB
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA930
>
> -config MACH_TAVOREVB3
> - ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
> - ? ? ? select CPU_PXA950
> -
> ?config MACH_SAAR
> ? ? ? ?bool "PXA930 Handheld Platform (aka SAAR)"
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA930
>
> -config MACH_SAARB
> - ? ? ? bool "PXA955 Handheld Platform (aka SAARB)"
> - ? ? ? select CPU_PXA955
> -
> ?comment "Third Party Dev Platforms (sorted by vendor name)"
>
> ?config ARCH_PXA_IDP
> @@ -598,7 +611,7 @@ config MACH_ZIPIT2
> ? ? ? ?bool "Zipit Z2 Handheld"
> ? ? ? ?select PXA27x
> ? ? ? ?select HAVE_PWM
> -
> +endif
> ?endmenu
>
> ?config PXA25x
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-08 2:57 ` Haojian Zhuang
@ 2011-10-08 3:21 ` Eric Miao
2011-10-08 3:32 ` Haojian Zhuang
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-08 3:21 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 8, 2011 at 10:57 AM, Haojian Zhuang
<haojian.zhuang@gmail.com> wrote:
> On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> We cannot support ARMv5 and ARMv7 based boards in a single kernel,
>> so introduce a new option in mach-pxa to select between the two.
>>
>> The PJ4 (ARMv7) based boards are now only visible when
>> CONFIG_ARCH_PXA_V7 is set, the other boards are only visible
>> when it's not set.
>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> ?arch/arm/mach-pxa/Kconfig | ? 31 ++++++++++++++++++++++---------
>> ?1 files changed, 22 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
>> index cd19309..bb310d0 100644
>> --- a/arch/arm/mach-pxa/Kconfig
>> +++ b/arch/arm/mach-pxa/Kconfig
>> @@ -2,6 +2,27 @@ if ARCH_PXA
>>
>> ?menu "Intel PXA2xx/PXA3xx Implementations"
>>
>> +config ARCH_PXA_V7
>> + ? ? ? bool "ARMv7 (PXA95x) based systems"
>> +
>> +if ARCH_PXA_V7
>> +comment "Marvell Dev Platforms (sorted by hardware release time)"
>> +config MACH_TAVOREVB3
>> + ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
>> + ? ? ? select CPU_PXA955
>> +
>> +config MACH_SAARB
>> + ? ? ? bool "PXA955 Handheld Platform (aka SAARB)"
>> + ? ? ? select CPU_PXA955
>> +endif
>> +
>> +config PXA_V7_MACH_AUTO
>> + ? ? ? def_bool y
>> + ? ? ? depends on ARCH_PXA_V7
>> + ? ? ? depends on !MACH_SAARB
>> + ? ? ? select MACH_TAVOREVB3
>> +
> Could we avoid to use PXA_V7_MACH_AUTO? I think the better way is
> defining a new ARCH (ARCH_PXA95X or something else), and sharing the
> code in arch/arm/mach-pxa. I think that it's easy to implement.
>
> How about you, Russell & Eric?
Haojian,
The patch here is to fix the issue of V5 boards and V7 boards being
built together yet it's not supported (there will be building errors).
And this could be easily spotted with auto/random configurations.
I generally think the patch is fine before we'll allow building of both
v5 and v7 code together (which Nico will be definitely interested in)
>
>> +if !ARCH_PXA_V7
>> ?comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
>>
>> ?config ARCH_LUBBOCK
>> @@ -41,19 +62,11 @@ config MACH_TAVOREVB
>> ? ? ? ?select PXA3xx
>> ? ? ? ?select CPU_PXA930
>>
>> -config MACH_TAVOREVB3
>> - ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
>> - ? ? ? select CPU_PXA950
>> -
>> ?config MACH_SAAR
>> ? ? ? ?bool "PXA930 Handheld Platform (aka SAAR)"
>> ? ? ? ?select PXA3xx
>> ? ? ? ?select CPU_PXA930
>>
>> -config MACH_SAARB
>> - ? ? ? bool "PXA955 Handheld Platform (aka SAARB)"
>> - ? ? ? select CPU_PXA955
>> -
>> ?comment "Third Party Dev Platforms (sorted by vendor name)"
>>
>> ?config ARCH_PXA_IDP
>> @@ -598,7 +611,7 @@ config MACH_ZIPIT2
>> ? ? ? ?bool "Zipit Z2 Handheld"
>> ? ? ? ?select PXA27x
>> ? ? ? ?select HAVE_PWM
>> -
>> +endif
>> ?endmenu
>>
>> ?config PXA25x
>> --
>> 1.7.5.4
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at ?http://www.tux.org/lkml/
>>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-08 3:21 ` Eric Miao
@ 2011-10-08 3:32 ` Haojian Zhuang
2011-10-08 13:24 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Haojian Zhuang @ 2011-10-08 3:32 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 8, 2011 at 11:21 AM, Eric Miao <eric.y.miao@gmail.com> wrote:
> On Sat, Oct 8, 2011 at 10:57 AM, Haojian Zhuang
> <haojian.zhuang@gmail.com> wrote:
>> On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>>> We cannot support ARMv5 and ARMv7 based boards in a single kernel,
>>> so introduce a new option in mach-pxa to select between the two.
>>>
>>> The PJ4 (ARMv7) based boards are now only visible when
>>> CONFIG_ARCH_PXA_V7 is set, the other boards are only visible
>>> when it's not set.
>>>
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> ?arch/arm/mach-pxa/Kconfig | ? 31 ++++++++++++++++++++++---------
>>> ?1 files changed, 22 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
>>> index cd19309..bb310d0 100644
>>> --- a/arch/arm/mach-pxa/Kconfig
>>> +++ b/arch/arm/mach-pxa/Kconfig
>>> @@ -2,6 +2,27 @@ if ARCH_PXA
>>>
>>> ?menu "Intel PXA2xx/PXA3xx Implementations"
>>>
>>> +config ARCH_PXA_V7
>>> + ? ? ? bool "ARMv7 (PXA95x) based systems"
>>> +
>>> +if ARCH_PXA_V7
>>> +comment "Marvell Dev Platforms (sorted by hardware release time)"
>>> +config MACH_TAVOREVB3
>>> + ? ? ? bool "PXA95x Development Platform (aka TavorEVB III)"
>>> + ? ? ? select CPU_PXA955rds and V7 boards being
built together yet it's not supported (there will be building errors).
And this could be easily spotted with auto/rds and V7 boards being
built together yet it's not supported (there will be building errors).
And this could be easily spotted with auto/
>>> +
>>> +config MACH_SAARB
>>> + ? ? ? bool "PXA955 Handheld Platform (aka SAARB)"
>>> + ? ? ? select CPU_PXA955
>>> +endif
>>> +
>>> +config PXA_V7_MACH_AUTO
>>> + ? ? ? def_bool y
>>> + ? ? ? depends on ARCH_PXA_V7
>>> + ? ? ? depends on !MACH_SAARB
>>> + ? ? ? select MACH_TAVOREVB3
>>> +
>> Could we avoid to use PXA_V7_MACH_AUTO? I think the better way is
>> defining a new ARCH (ARCH_PXA95X or something else), and sharing the
>> code in arch/arm/mach-pxa. I think that it's easy to implement.
>>
>> How about you, Russell & Eric?
>
> Haojian,
>
> The patch here is to fix the issue of V5 boards and V7 boards being
> built together yet it's not supported (there will be building errors).
> And this could be easily spotted with auto/random configurations.
>
> I generally think the patch is fine before we'll allow building of both
> v5 and v7 code together (which Nico will be definitely interested in)
>
>
Eric,
At first, a new macro (ARCH_PXA_V7) is defined in
arch/arm/mach-pxa/Kconfig in this patch.
I prefer to move this macro to arch/arm/Kconfig.
Secondly, pxa95x is both used in saarb and tavorevb3.
Thirdly, PXA_V7_MACH_AUTO is unnecessary. We just need to select those
machines in defconfig or define a new DT machine type to select all
machines.
Thanks
Haojian
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more
2011-10-01 20:03 ` [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more Arnd Bergmann
@ 2011-10-08 7:44 ` Eric Miao
2011-10-08 17:36 ` Nicolas Pitre
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-08 7:44 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The headers files required for XIP support have moved around
> over the last few years, and the code no longer builds.
> Until someone fixes this, let's just disable support, leaving
> sa1100 as the only platform still supporting xip.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
It is actually fixable, the problem is really mtd-xip.h is referencing
the interrupt registers directly which I moved them to mach-pxa/irq.c
for better modularization.
I'm fine to drop XIP. I'm afraid Nico's gonna be a bit disappointed
as I broke his favorite XIP code :-)
> ---
> ?arch/arm/Kconfig | ? ?1 -
> ?1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 570c9fd..71b0ccb 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -619,7 +619,6 @@ config ARCH_PNX4008
> ?config ARCH_PXA
> ? ? ? ?bool "PXA2xx/PXA3xx-based"
> ? ? ? ?depends on MMU
> - ? ? ? select ARCH_MTD_XIP
> ? ? ? ?select ARCH_HAS_CPUFREQ
> ? ? ? ?select CLKDEV_LOOKUP
> ? ? ? ?select CLKSRC_MMIO
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 06/26] ARM: pxa: add missing header inclusions
2011-10-07 5:08 ` Eric Miao
@ 2011-10-08 8:03 ` Russell King - ARM Linux
2011-10-08 10:23 ` Jamie Iles
0 siblings, 1 reply; 83+ messages in thread
From: Russell King - ARM Linux @ 2011-10-08 8:03 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Oct 07, 2011 at 01:08:23PM +0800, Eric Miao wrote:
> On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > These resulted in build breakage in some configurations:
> >
> > arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
> >
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> > ?arch/arm/mach-pxa/irq.c | ? ?1 +
> > ?1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
> > index b09e848..848e96d 100644
> > --- a/arch/arm/mach-pxa/irq.c
> > +++ b/arch/arm/mach-pxa/irq.c
> > @@ -16,6 +16,7 @@
> > ?#include <linux/module.h>
> > ?#include <linux/interrupt.h>
> > ?#include <linux/syscore_ops.h>
> > +#include <linux/ftrace.h>
>
> It's actually __irq_entry being defined in <linux/ftrace.h> and in turn
> __exception_irq_entry being conditionally defined to that.
>
> I think it's better to fix this in <asm/system.h> instead of in the
> cases where this macro is referenced?
>
> Russell?
There's a patch in the patch system which fixes this (7115/3) but I
can't apply it because it doesn't apply to anything in my for-next
tree (it applies to the obsolete 'devel' branch which is rather old
now.)
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
2011-10-01 20:03 ` [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ Arnd Bergmann
@ 2011-10-08 8:34 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 8:34 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The pxa specific cpufreq code is based on the cpu_freq_table
> module, so we have to select that.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?arch/arm/Kconfig | ? ?1 +
> ?1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 71b0ccb..3b84eda 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1926,6 +1926,7 @@ config CPU_FREQ_PXA
> ? ? ? ?bool
> ? ? ? ?depends on CPU_FREQ && ARCH_PXA && PXA25x
> ? ? ? ?default y
> + ? ? ? select CPU_FREQ_TABLE
> ? ? ? ?select CPU_FREQ_DEFAULT_GOV_USERSPACE
>
> ?config CPU_FREQ_S3C
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb
2011-10-01 20:03 ` [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb Arnd Bergmann
@ 2011-10-08 9:50 ` Eric Miao
2011-10-08 10:07 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-08 9:50 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The saar and tevorevb platforms call pxafb_smart_flush from board
> code, and that function is defined in the framebuffer code, so it
> cannot be disabled.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/Kconfig | ? ?4 ++++
> ?1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index bb310d0..cd94f2f 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -61,11 +61,15 @@ config MACH_TAVOREVB
> ? ? ? ?bool "PXA930 Evaluation Board (aka TavorEVB)"
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA930
> + ? ? ? select FB_PXA
> + ? ? ? select FB
>
> ?config MACH_SAAR
> ? ? ? ?bool "PXA930 Handheld Platform (aka SAAR)"
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA930
> + ? ? ? select FB_PXA
> + ? ? ? select FB
Hi Arnd,
The option really matters is FB_PXA_SMARTPANEL, which adds support
for the display driver to control an external "smart" LCD panel. And how
about the patch below to fix this - as normal, make empty functions
when not enabled?
diff --git a/arch/arm/mach-pxa/include/mach/pxafb.h
b/arch/arm/mach-pxa/include/mach/pxafb.h
index 01a45ac..486b4c5 100644
--- a/arch/arm/mach-pxa/include/mach/pxafb.h
+++ b/arch/arm/mach-pxa/include/mach/pxafb.h
@@ -158,5 +158,18 @@ struct pxafb_mach_info {
void pxa_set_fb_info(struct device *, struct pxafb_mach_info *);
unsigned long pxafb_get_hsync_time(struct device *dev);
+#ifdef CONFIG_FB_PXA_SMARTPANEL
extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int);
extern int pxafb_smart_flush(struct fb_info *info);
+#else
+static inline int pxafb_smart_queue(struct fb_info *info,
+ uint16_t *cmds, int n)
+{
+ return 0;
+}
+
+static inline int pxafb_smart_flush(struct fb_info *info)
+{
+ return 0;
+}
+#endif
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0f4e8c9..389530b 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -1309,16 +1309,6 @@ static int pxafb_smart_init(struct pxafb_info *fbi)
return 0;
}
#else
-int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int n_cmds)
-{
- return 0;
-}
-
-int pxafb_smart_flush(struct fb_info *info)
-{
- return 0;
-}
-
static inline int pxafb_smart_init(struct pxafb_info *fbi) { return 0; }
#endif /* CONFIG_FB_PXA_SMARTPANEL */
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld
2011-10-01 20:03 ` [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld Arnd Bergmann
@ 2011-10-08 9:59 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 9:59 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The raumfeld platform code calls power_supply_set_battery_charged
> which is part of the power supply layer, so that always has
> to be enabled.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A better way might be for the raumfeld board file to compile the code
based on whether POWER_SUPPLY is selected. However, the power supply
code for raumfeld is a bit difficult to separate indeed, let's merge this
before that happens.
Daniel?
> ---
> ?arch/arm/mach-pxa/Kconfig | ? ?3 +++
> ?1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index cd94f2f..491c522 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -453,15 +453,18 @@ config MACH_RAUMFELD_RC
> ? ? ? ?bool "Raumfeld Controller"
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA300
> + ? ? ? select POWER_SUPPLY
> ? ? ? ?select HAVE_PWM
>
> ?config MACH_RAUMFELD_CONNECTOR
> ? ? ? ?bool "Raumfeld Connector"
> + ? ? ? select POWER_SUPPLY
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA300
>
> ?config MACH_RAUMFELD_SPEAKER
> ? ? ? ?bool "Raumfeld Speaker"
> + ? ? ? select POWER_SUPPLY
> ? ? ? ?select PXA3xx
> ? ? ? ?select CPU_PXA300
>
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb
2011-10-08 9:50 ` Eric Miao
@ 2011-10-08 10:07 ` Arnd Bergmann
0 siblings, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-08 10:07 UTC (permalink / raw)
To: linux-arm-kernel
On Saturday 08 October 2011 17:50:31 Eric Miao wrote:
>
> The option really matters is FB_PXA_SMARTPANEL, which adds support
> for the display driver to control an external "smart" LCD panel. And how
> about the patch below to fix this - as normal, make empty functions
> when not enabled?
>
Yes, your patch looks better than mine.
Thanks,
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled
2011-10-01 20:03 ` [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled Arnd Bergmann
@ 2011-10-08 10:10 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 10:10 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The smc91x driver is not strictly required for xcep, but it
> can only be enabled if ethernet support is built into the
> kernel, so make the dependency more specific.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/Kconfig | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index 491c522..ef35ce9 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -174,7 +174,7 @@ config MACH_XCEP
> ? ? ? ?select MTD_CFI_INTELEXT
> ? ? ? ?select MTD_CFI
> ? ? ? ?select MTD_CHAR
> - ? ? ? select SMC91X
> + ? ? ? select SMC91X if NET_ETHERNET
Or let's just remove this 'select SMC91X' completely as it's not
strictly required?
BTW - how's the Kconfig cleanup works going? I guess going forward,
the best way for such cases might be to introduce HAVE_SMC91X, and
let SMC91X to depend on this? However, that could in turn introduce
a massive number of HAVE_* for various drivers.
> ? ? ? ?help
> ? ? ? ? ?PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash.
> ? ? ? ? ?Tuned for usage in Libera instruments for particle accelerators.
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x
2011-10-01 20:03 ` [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x Arnd Bergmann
@ 2011-10-08 10:20 ` Eric Miao
2011-10-08 11:31 ` Marek Vasut
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-08 10:20 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The two platforms are part of the palm27x family and use the same
> code. Select the palm27x symbol to make sure they can be built
> standalone.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?arch/arm/mach-pxa/Kconfig | ? ?2 ++
> ?1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index 568b7f6..da6fca0 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -431,6 +431,7 @@ config MACH_CENTRO
> ? ? ? ?bool "Palm Centro 685 (GSM)"
> ? ? ? ?default y
> ? ? ? ?depends on ARCH_PXA_PALM
> + ? ? ? select MACH_PALM27X
> ? ? ? ?select PXA27x
> ? ? ? ?select IWMMXT
> ? ? ? ?select PALM_TREO
> @@ -442,6 +443,7 @@ config MACH_TREO680
> ? ? ? ?bool "Palm Treo 680"
> ? ? ? ?default y
> ? ? ? ?depends on ARCH_PXA_PALM
> + ? ? ? select MACH_PALM27X
> ? ? ? ?select PXA27x
> ? ? ? ?select IWMMXT
> ? ? ? ?select PALM_TREO
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI
2011-10-01 20:03 ` [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI Arnd Bergmann
@ 2011-10-08 10:22 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 10:22 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The sharpsl code selects the max1111 spi driver, so it must also
> ensure that SPI itself is enabled. The platform does not work
> without max1111.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?arch/arm/mach-pxa/Kconfig | ? ?2 ++
> ?1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index 3733971..6dee18e 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -710,6 +710,8 @@ config SHARPSL_PM
> ?config SHARPSL_PM_MAX1111
> ? ? ? ?bool
> ? ? ? ?select HWMON
> + ? ? ? select SPI
> + ? ? ? select SPI_MASTER
> ? ? ? ?select SENSORS_MAX1111
>
> ?config PXA_HAVE_ISA_IRQS
> --
> 1.7.5.4
>
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 06/26] ARM: pxa: add missing header inclusions
2011-10-08 8:03 ` Russell King - ARM Linux
@ 2011-10-08 10:23 ` Jamie Iles
2011-10-08 10:24 ` Eric Miao
0 siblings, 1 reply; 83+ messages in thread
From: Jamie Iles @ 2011-10-08 10:23 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 08, 2011 at 09:03:09AM +0100, Russell King - ARM Linux wrote:
> On Fri, Oct 07, 2011 at 01:08:23PM +0800, Eric Miao wrote:
> > On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > > These resulted in build breakage in some configurations:
> > >
> > > arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
> > >
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > > ---
> > > ?arch/arm/mach-pxa/irq.c | ? ?1 +
> > > ?1 files changed, 1 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
> > > index b09e848..848e96d 100644
> > > --- a/arch/arm/mach-pxa/irq.c
> > > +++ b/arch/arm/mach-pxa/irq.c
> > > @@ -16,6 +16,7 @@
> > > ?#include <linux/module.h>
> > > ?#include <linux/interrupt.h>
> > > ?#include <linux/syscore_ops.h>
> > > +#include <linux/ftrace.h>
> >
> > It's actually __irq_entry being defined in <linux/ftrace.h> and in turn
> > __exception_irq_entry being conditionally defined to that.
> >
> > I think it's better to fix this in <asm/system.h> instead of in the
> > cases where this macro is referenced?
> >
> > Russell?
>
> There's a patch in the patch system which fixes this (7115/3) but I
> can't apply it because it doesn't apply to anything in my for-next
> tree (it applies to the obsolete 'devel' branch which is rather old
> now.)
OK, I wasn't aware that devel was obsolete (though I guess if I'd paid
closer attention to the commit dates I'd have suspected something).
Anyhow, new patch in the tracker as 7115/4 rebased onto for-next.
Jamie
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 06/26] ARM: pxa: add missing header inclusions
2011-10-08 10:23 ` Jamie Iles
@ 2011-10-08 10:24 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 10:24 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 8, 2011 at 6:23 PM, Jamie Iles <jamie@jamieiles.com> wrote:
> On Sat, Oct 08, 2011 at 09:03:09AM +0100, Russell King - ARM Linux wrote:
>> On Fri, Oct 07, 2011 at 01:08:23PM +0800, Eric Miao wrote:
>> > On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > > These resulted in build breakage in some configurations:
>> > >
>> > > arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
>> > >
>> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> > > ---
>> > > ?arch/arm/mach-pxa/irq.c | ? ?1 +
>> > > ?1 files changed, 1 insertions(+), 0 deletions(-)
>> > >
>> > > diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
>> > > index b09e848..848e96d 100644
>> > > --- a/arch/arm/mach-pxa/irq.c
>> > > +++ b/arch/arm/mach-pxa/irq.c
>> > > @@ -16,6 +16,7 @@
>> > > ?#include <linux/module.h>
>> > > ?#include <linux/interrupt.h>
>> > > ?#include <linux/syscore_ops.h>
>> > > +#include <linux/ftrace.h>
>> >
>> > It's actually __irq_entry being defined in <linux/ftrace.h> and in turn
>> > __exception_irq_entry being conditionally defined to that.
>> >
>> > I think it's better to fix this in <asm/system.h> instead of in the
>> > cases where this macro is referenced?
>> >
>> > Russell?
>>
>> There's a patch in the patch system which fixes this (7115/3) but I
>> can't apply it because it doesn't apply to anything in my for-next
>> tree (it applies to the obsolete 'devel' branch which is rather old
>> now.)
>
> OK, I wasn't aware that devel was obsolete (though I guess if I'd paid
> closer attention to the commit dates I'd have suspected something).
>
> Anyhow, new patch in the tracker as 7115/4 rebased onto for-next.
Thanks, Jamie.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x
2011-10-08 10:20 ` Eric Miao
@ 2011-10-08 11:31 ` Marek Vasut
0 siblings, 0 replies; 83+ messages in thread
From: Marek Vasut @ 2011-10-08 11:31 UTC (permalink / raw)
To: linux-arm-kernel
On Saturday, October 08, 2011 12:20:57 PM Eric Miao wrote:
> On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > The two platforms are part of the palm27x family and use the same
> > code. Select the palm27x symbol to make sure they can be built
> > standalone.
> >
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> Applied.
Thanks Eric.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-07 9:56 ` Arnd Bergmann
@ 2011-10-08 12:37 ` Eric Miao
2011-10-08 13:00 ` Arnd Bergmann
0 siblings, 1 reply; 83+ messages in thread
From: Eric Miao @ 2011-10-08 12:37 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Oct 7, 2011 at 5:56 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 07 October 2011, Eric Miao wrote:
>> commit 3f7961cbd3428c8639d42d1a51870466e4cbb0eb
>> Author: Eric Miao <eric.y.miao@gmail.com>
>> Date: ? Sun Sep 11 17:19:11 2011 +0800
>>
>> ? ? ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
>>
>> ? ? Cc: Vasily Khoruzhick <anarsoul@gmail.com>
>> ? ? Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
>>
>> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
>> index 6c9275a..6fa4e74 100644
>> --- a/arch/arm/mach-pxa/z2.c
>> +++ b/arch/arm/mach-pxa/z2.c
>> @@ -679,6 +679,8 @@ static inline void z2_pmic_init(void) {}
>> ?#endif
>>
>> ?#ifdef CONFIG_PM
>> +extern void pxa27x_cpu_pm_enter(suspend_state_t state);
>> +
>> ?static void z2_power_off(void)
>> ?{
>> ? ? ? ? /* We're using deep sleep as poweroff, so clear PSPR to ensure that
>
> You really shouldn't have an extern declaration in a .c file. Otherwise
> looks good to me.
How about this one?
diff --git a/arch/arm/mach-pxa/include/mach/pxa27x.h
b/arch/arm/mach-pxa/include/mach/pxa27x.h
index b9b1bdc..7cff640 100644
--- a/arch/arm/mach-pxa/include/mach/pxa27x.h
+++ b/arch/arm/mach-pxa/include/mach/pxa27x.h
@@ -1,6 +1,7 @@
#ifndef __MACH_PXA27x_H
#define __MACH_PXA27x_H
+#include <linux/suspend.h>
#include <mach/hardware.h>
#include <mach/pxa2xx-regs.h>
#include <mach/mfp-pxa27x.h>
@@ -21,6 +22,7 @@
extern void __init pxa27x_map_io(void);
extern void __init pxa27x_init_irq(void);
extern int __init pxa27x_set_pwrmode(unsigned int mode);
+extern void pxa27x_cpu_pm_enter(suspend_state_t state);
#define pxa27x_handle_irq ichp_handle_irq
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
index 6c9275a..a82d420 100644
--- a/arch/arm/mach-pxa/z2.c
+++ b/arch/arm/mach-pxa/z2.c
@@ -686,7 +686,8 @@ static void z2_power_off(void)
*/
PSPR = 0x0;
local_irq_disable();
- pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
+ pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP);
+ pxa27x_cpu_pm_enter(PM_SUSPEND_MEM);
}
#else
#define z2_power_off NULL
^ permalink raw reply related [flat|nested] 83+ messages in thread
* [PATCH 13/26] ARM: pxa: use correct __iomem annotations
2011-10-07 10:16 ` Arnd Bergmann
@ 2011-10-08 12:43 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 12:43 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Oct 7, 2011 at 6:16 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 07 October 2011, Eric Miao wrote:
>> > @@ -18,11 +24,11 @@
>> > ?* peripherals on APB, let's count it into the ABP mapping area.
>> > ?*/
>> > ?#define APB_PHYS_BASE ? ? ? ? ?0xd4000000
>> > -#define APB_VIRT_BASE ? ? ? ? ?0xfe000000
>> > +#define APB_VIRT_BASE ? ? ? ? ?IOMEM(0xfe000000)
>>
>> To be honest, I'd really like to keep the *_VIRT_BASE definitions to be
>> type independent.
>>
>> And have the actual register definitions to be casted to void __iomem *
>> when being defined, e.g.
>>
>> #define APBC_REG(x) ? ? IOMEM(APBC_VIRT_BASE + (x))
>>
>> #define APBC_UART1 ? ? ?APBC_REG(0x000)
>>
>> Arnd, do we have some standard guidelines on this for all SoCs
>> to follow? As I know, it's currently still being a mess.
>
> We don't have any formal guidelines yet, but I'd really love to get
> rid of all the arbitrary type casts to make use of the built-in
> type checking of the compiler and sparse. A virtual base address
> for registers is conventionally an __iomem pointer, so defining it
> as something else is completely bogus. I have started making patches
> for a number of platforms for this.
>
> Ideally we should have very little code directly using, but the fact
> is that they are there and we won't remove them all anytime soon, so
> we should at least use the correct types here.
>
> Another issue that goes together with this is that right now our
> readl/writel macros accept any input type (pointer, __iomem pointer,
> unsigned long, unsigned int), and I have a patch to make that stricter
> but that requires fixing up all the places where we do a
> readl(APBC_VIRT_BASE + x) that Russell mentioned.
>
> The only place where this requires adding extra type casts right now is
> the iotable setup, which I hope we can also fix eventually by splitting
> the static I/O mapping setup from other static mappings (MT_MEMORY,
> MT_MEMORY_NONCACHED, ...).
Sounds fair enough. Applied.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-08 12:37 ` Eric Miao
@ 2011-10-08 13:00 ` Arnd Bergmann
2011-10-08 13:02 ` Eric Miao
0 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-08 13:00 UTC (permalink / raw)
To: linux-arm-kernel
On Saturday 08 October 2011 20:37:53 Eric Miao wrote:
> >>
> >> #ifdef CONFIG_PM
> >> +extern void pxa27x_cpu_pm_enter(suspend_state_t state);
> >> +
> >> static void z2_power_off(void)
> >> {
> >> /* We're using deep sleep as poweroff, so clear PSPR to ensure that
> >
> > You really shouldn't have an extern declaration in a .c file. Otherwise
> > looks good to me.
>
> How about this one?
Yes, looks good as far as I can tell (I still don't quite understand how the
cpu power management all fits together, but I don't see anything wrong with
it either.
Acked-by: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
2011-10-08 13:00 ` Arnd Bergmann
@ 2011-10-08 13:02 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-08 13:02 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 8, 2011 at 9:00 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Saturday 08 October 2011 20:37:53 Eric Miao wrote:
>> >>
>> >> ?#ifdef CONFIG_PM
>> >> +extern void pxa27x_cpu_pm_enter(suspend_state_t state);
>> >> +
>> >> ?static void z2_power_off(void)
>> >> ?{
>> >> ? ? ? ? /* We're using deep sleep as poweroff, so clear PSPR to ensure that
>> >
>> > You really shouldn't have an extern declaration in a .c file. Otherwise
>> > looks good to me.
>>
>> How about this one?
>
> Yes, looks good as far as I can tell (I still don't quite understand how the
> cpu power management all fits together, but I don't see anything wrong with
> it either.
>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
Applied, thanks.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-08 3:32 ` Haojian Zhuang
@ 2011-10-08 13:24 ` Arnd Bergmann
2011-10-09 6:21 ` Haojian Zhuang
0 siblings, 1 reply; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-08 13:24 UTC (permalink / raw)
To: linux-arm-kernel
On Saturday 08 October 2011 11:32:14 Haojian Zhuang wrote:
>
> Eric,
>
> At first, a new macro (ARCH_PXA_V7) is defined in
> arch/arm/mach-pxa/Kconfig in this patch.
> I prefer to move this macro to arch/arm/Kconfig.
If we move it to arch/arm/Kconfig, I would prefer making it a global option,
not a pxa specific one. If we introduce a top-level CONFIG_CPU_V6PLUS
option, we can make a number of decisions inside of Kconfig depend on that,
especially as we move to allow building multiple v6/v7 platforms together,
or multiple v5 platforms for that matter. I believe we don't need to
worry about v5+v7 at this point and can instead assume that won't ever
happen.
> Secondly, pxa95x is both used in saarb and tavorevb3.
The patch makes that very explicit, doesn't it?
> Thirdly, PXA_V7_MACH_AUTO is unnecessary. We just need to select those
> machines in defconfig or define a new DT machine type to select all
> machines.
Enabling them in defconfig will not help here, it still allows creating
an invalid configuration by disabling both saarb and tavorevb3.
I agree that it would be best to have a single DT machine type that can
handle both saarb and tavorevb3 as well as any future pxa95x based machines,
but nobody has implemented that yet. In the meantime, I think we should
have the PXA_V7_MACH_AUTO or an equivalent mechanism to enforce that at
least one of the two board files gets built into any kernel. This is mostly
important to help the 'make randconfig' builds succeed, not for actual
users getting it wrong accidentally.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more
2011-10-08 7:44 ` Eric Miao
@ 2011-10-08 17:36 ` Nicolas Pitre
0 siblings, 0 replies; 83+ messages in thread
From: Nicolas Pitre @ 2011-10-08 17:36 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, 8 Oct 2011, Eric Miao wrote:
> On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > The headers files required for XIP support have moved around
> > over the last few years, and the code no longer builds.
> > Until someone fixes this, let's just disable support, leaving
> > sa1100 as the only platform still supporting xip.
> >
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> It is actually fixable, the problem is really mtd-xip.h is referencing
> the interrupt registers directly which I moved them to mach-pxa/irq.c
> for better modularization.
>
> I'm fine to drop XIP. I'm afraid Nico's gonna be a bit disappointed
> as I broke his favorite XIP code :-)
Well, I don't care much myself. I have no use for that capability, even
though this was interesting to implement. So it only depends if someone
relies on this or not.
A few months ago I asked on the list if XIP was still useful, and Tim
Bird replied that Sony was indeed using it. So if this is not too hard
to keep this feature alive then I'd go with that option.
Nicolas
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-08 13:24 ` Arnd Bergmann
@ 2011-10-09 6:21 ` Haojian Zhuang
2011-10-09 6:36 ` Eric Miao
2011-10-09 11:35 ` Arnd Bergmann
0 siblings, 2 replies; 83+ messages in thread
From: Haojian Zhuang @ 2011-10-09 6:21 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Oct 8, 2011 at 9:24 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Saturday 08 October 2011 11:32:14 Haojian Zhuang wrote:
>>
>> Eric,
>>
>> At first, a new macro (ARCH_PXA_V7) is defined in
>> arch/arm/mach-pxa/Kconfig in this patch.
>> I prefer to move this macro to arch/arm/Kconfig.
>
> If we move it to arch/arm/Kconfig, I would prefer making it a global option,
> not a pxa specific one. If we introduce a top-level CONFIG_CPU_V6PLUS
> option, we can make a number of decisions inside of Kconfig depend on that,
> especially as we move to allow building multiple v6/v7 platforms together,
> or multiple v5 platforms for that matter. I believe we don't need to
> worry about v5+v7 at this point and can instead assume that won't ever
> happen.
>
Nobody is using PJ4 as v6 architecture now. CPUv6 is used in old stepping
of Dove and MMP2. CPU_PJ4 only enables CPU_v7 in the mainline code.
If we used ARCH_PXA_V7 in arch/arm/Kconfig, we would have two ARCH for
pxa. One is ARCH_PXA, and the other is ARCH_PXA_V7. Those v5 machine
should be based on ARCH_PXA. And the saarb, tavorevb3 should be based
on ARCH_PXA_V7. So we can avoid to define PXA_V7_MACH_AUTO. I think
the logic of Kconfig could be easier.
>> Secondly, pxa95x is both used in saarb and tavorevb3.
>
> The patch makes that very explicit, doesn't it?
>
+config PXA_V7_MACH_AUTO
+ def_bool y
+ depends on ARCH_PXA_V7
+ depends on !MACH_SAARB
+ select MACH_TAVOREVB3
+
Please check this. In your patch, SAARB and TAVOREVB3 is a mutex.
>> Thirdly, PXA_V7_MACH_AUTO is unnecessary. We just need to select those
>> machines in defconfig or define a new DT machine type to select all
>> machines.
>
> Enabling them in defconfig will not help here, it still allows creating
> an invalid configuration by disabling both saarb and tavorevb3.
> I agree that it would be best to have a single DT machine type that can
> handle both saarb and tavorevb3 as well as any future pxa95x based machines,
> but nobody has implemented that yet. In the meantime, I think we should
> have the PXA_V7_MACH_AUTO or an equivalent mechanism to enforce that at
> least one of the two board files gets built into any kernel. This is mostly
> important to help the 'make randconfig' builds succeed, not for actual
> users getting it wrong accidentally.
>
> ? ? ? ?Arnd
>
Exactly we need to define a single DT machine type in both arch-pxa
and arch-mmp.
I'll register it first.
Thanks
Haojian
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-09 6:21 ` Haojian Zhuang
@ 2011-10-09 6:36 ` Eric Miao
2011-10-09 6:39 ` Haojian Zhuang
2011-10-09 11:31 ` Arnd Bergmann
2011-10-09 11:35 ` Arnd Bergmann
1 sibling, 2 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-09 6:36 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 9, 2011 at 2:21 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
> On Sat, Oct 8, 2011 at 9:24 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Saturday 08 October 2011 11:32:14 Haojian Zhuang wrote:
>>>
>>> Eric,
>>>
>>> At first, a new macro (ARCH_PXA_V7) is defined in
>>> arch/arm/mach-pxa/Kconfig in this patch.
>>> I prefer to move this macro to arch/arm/Kconfig.
>>
>> If we move it to arch/arm/Kconfig, I would prefer making it a global option,
>> not a pxa specific one. If we introduce a top-level CONFIG_CPU_V6PLUS
>> option, we can make a number of decisions inside of Kconfig depend on that,
>> especially as we move to allow building multiple v6/v7 platforms together,
>> or multiple v5 platforms for that matter. I believe we don't need to
>> worry about v5+v7 at this point and can instead assume that won't ever
>> happen.
>>
> Nobody is using PJ4 as v6 architecture now. CPUv6 is used in old stepping
> of Dove and MMP2. CPU_PJ4 only enables CPU_v7 in the mainline code.
>
> If we used ARCH_PXA_V7 in arch/arm/Kconfig, we would have two ARCH for
> pxa. One is ARCH_PXA, and the other is ARCH_PXA_V7. Those v5 machine
> should be based on ARCH_PXA. And the saarb, tavorevb3 should be based
> on ARCH_PXA_V7. So we can avoid to define PXA_V7_MACH_AUTO. I think
> the logic of Kconfig could be easier.
Haojian,
PXA_V7_MACH_AUTO is to by default auto enable tavorevb3 when
ARCH_PXA_V7 is selected.
>
>>> Secondly, pxa95x is both used in saarb and tavorevb3.
>>
>> The patch makes that very explicit, doesn't it?
>>
> +config PXA_V7_MACH_AUTO
> + ? ? ? def_bool y
> + ? ? ? depends on ARCH_PXA_V7
> + ? ? ? depends on !MACH_SAARB
> + ? ? ? select MACH_TAVOREVB3
> +
>
> Please check this. In your patch, SAARB and TAVOREVB3 is a mutex.
They are actually not mutually exclusive - it's a trick we use to select
MACH_TAVOREVB3 by default but this option also disappears once SAARB
is selected.
Arnd,
The 'depends on ARCH_PXA_V7' could actually be removed here, as the
option is already encapsulated in if ARCH_PXA_V7 ... endif. And this
trick won't work very well when there are more than 2 boards.
>
>>> Thirdly, PXA_V7_MACH_AUTO is unnecessary. We just need to select those
>>> machines in defconfig or define a new DT machine type to select all
>>> machines.
>>
>> Enabling them in defconfig will not help here, it still allows creating
>> an invalid configuration by disabling both saarb and tavorevb3.
>> I agree that it would be best to have a single DT machine type that can
>> handle both saarb and tavorevb3 as well as any future pxa95x based machines,
>> but nobody has implemented that yet. In the meantime, I think we should
>> have the PXA_V7_MACH_AUTO or an equivalent mechanism to enforce that at
>> least one of the two board files gets built into any kernel. This is mostly
>> important to help the 'make randconfig' builds succeed, not for actual
>> users getting it wrong accidentally.
>>
>> ? ? ? ?Arnd
>>
>
> Exactly we need to define a single DT machine type in both arch-pxa
> and arch-mmp.
> I'll register it first.
Please go ahead.
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-09 6:36 ` Eric Miao
@ 2011-10-09 6:39 ` Haojian Zhuang
2011-10-09 7:28 ` Eric Miao
2011-10-09 11:31 ` Arnd Bergmann
1 sibling, 1 reply; 83+ messages in thread
From: Haojian Zhuang @ 2011-10-09 6:39 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Oct 9, 2011 at 2:36 PM, Eric Miao <eric.y.miao@gmail.com> wrote:
> On Sun, Oct 9, 2011 at 2:21 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
>> On Sat, Oct 8, 2011 at 9:24 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>> On Saturday 08 October 2011 11:32:14 Haojian Zhuang wrote:
>>>>
>>>> Eric,
>>>>
>>>> At first, a new macro (ARCH_PXA_V7) is defined in
>>>> arch/arm/mach-pxa/Kconfig in this patch.
>>>> I prefer to move this macro to arch/arm/Kconfig.
>>>
>>> If we move it to arch/arm/Kconfig, I would prefer making it a global option,
>>> not a pxa specific one. If we introduce a top-level CONFIG_CPU_V6PLUS
>>> option, we can make a number of decisions inside of Kconfig depend on that,
>>> especially as we move to allow building multiple v6/v7 platforms together,
>>> or multiple v5 platforms for that matter. I believe we don't need to
>>> worry about v5+v7 at this point and can instead assume that won't ever
>>> happen.
>>>
>> Nobody is using PJ4 as v6 architecture now. CPUv6 is used in old stepping
>> of Dove and MMP2. CPU_PJ4 only enables CPU_v7 in the mainline code.
>>
>> If we used ARCH_PXA_V7 in arch/arm/Kconfig, we would have two ARCH for
>> pxa. One is ARCH_PXA, and the other is ARCH_PXA_V7. Those v5 machine
>> should be based on ARCH_PXA. And the saarb, tavorevb3 should be based
>> on ARCH_PXA_V7. So we can avoid to define PXA_V7_MACH_AUTO. I think
>> the logic of Kconfig could be easier.
>ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7iMTlInbItkRaH3yJidg18Bg1SyIYZhbgu4jKpRkG4vavWebU6FwjovIuXoJqWzQimP4dvF4LWVq1xW84jtds8hRIc0a9nI1o2DUyqFzYvHHbqjXq+AJCqmUCaf9mlGn5/Ocd4LDbZKff3rHApCZrP4J/5beIiBDX25sFyRPNFjakJp5FbqwT17L91900rj7O60UeTe/vI9Gaf/oIvxMYriDmF02vsQgNqVNUzFllB8VTVb5HprZFZFX0ulBWhgTfMNqrhcZAxKwAW8tAY2zqa7NZZQhw0Ea8IkZrwA4qAwjQHwY56mNL7JRFLKlLVt3dEfkgx/HHWS8v1D80VGXUw== zhouhong at zhouhong-desktop
> Haojian,
>
> PXA_V7_MACH_AUTO is to by default auto enable tavorevb3 when
> ARCH_PXA_V7 is selected.
>
>>
>>>> Secondly, pxa95x is both used in saarb and tavorevb3.
>>>
>>> The patch makes that very explicit, doesn't it?
>>>
>> +config PXA_V7_MACH_AUTO
>> + ? ? ? def_bool y
>> + ? ? ? depends on ARCH_PXA_V7
>> + ? ? ? depends on !MACH_SAARB
>> + ? ? ? select MACH_TAVOREVB3
>> +
>>
>> Please check this. In your patch, SAARB and TAVOREVB3 is a mutex.
>
> They are actually not mutually exclusive - it's a trick we use to select
> MACH_TAVOREVB3 by default but this option also disappears once SAARB
> is selected.
>
OK. Could I know why saarb should be deselected while tavorevb3 is selected?
> Arnd,
>
> The 'depends on ARCH_PXA_V7' could actually be removed here, as the
> option is already encapsulated in if ARCH_PXA_V7 ... endif. And this
> trick won't work very well when there are more than 2 boards.
>
>>
>>>> Thirdly, PXA_V7_MACH_AUTO is unnecessary. We just need to select those
>>>> machines in defconfig or define a new DT machine type to select all
>>>> machines.
>>>
>>> Enabling them in defconfig will not help here, it still allows creating
>>> an invalid configuration by disabling both saarb and tavorevb3.
>>> I agree that it would be best to have a single DT machine type that can
>>> handle both saarb and tavorevb3 as well as any future pxa95x based machines,
>>> but nobody has implemented that yet. In the meantime, I think we should
>>> have the PXA_V7_MACH_AUTO or an equivalent mechanism to enforce that at
>>> least one of the two board files gets built into any kernel. This is mostly
>>> important to help the 'make randconfig' builds succeed, not for actual
>>> users getting it wrong accidentally.
>>>
>>> ? ? ? ?Arnd
>>>
>>
>> Exactly we need to define a single DT machine type in both arch-pxa
>> and arch-mmp.
>> I'll register it first.
>
> Please go ahead.
>
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-09 6:39 ` Haojian Zhuang
@ 2011-10-09 7:28 ` Eric Miao
0 siblings, 0 replies; 83+ messages in thread
From: Eric Miao @ 2011-10-09 7:28 UTC (permalink / raw)
To: linux-arm-kernel
>> They are actually not mutually exclusive - it's a trick we use to select
>> MACH_TAVOREVB3 by default but this option also disappears once SAARB
>> is selected.
>>
> OK. Could I know why saarb should be deselected while tavorevb3 is selected?
Haojian, it's not being deselected, it's just when user selects SAARB,
this config PXA_V7_MACH_AUTO becomes invalid (which means at
least one PXA_V7_MACH is selected), and then you could select
TAVOREVB3 as well.
Just go ahead and apply the patch, make menuconfig and see how
the trick works :-)
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-09 6:36 ` Eric Miao
2011-10-09 6:39 ` Haojian Zhuang
@ 2011-10-09 11:31 ` Arnd Bergmann
1 sibling, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-09 11:31 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 09 October 2011 14:36:52 Eric Miao wrote:
>
> They are actually not mutually exclusive - it's a trick we use to select
> MACH_TAVOREVB3 by default but this option also disappears once SAARB
> is selected.
Right. It's a bit hard to read when there are only two of them, but that
is the idea.
> The 'depends on ARCH_PXA_V7' could actually be removed here, as the
> option is already encapsulated in if ARCH_PXA_V7 ... endif. And this
> trick won't work very well when there are more than 2 boards.
Actually, the option is outside of the if ARCH_PXA_V7, but that could
easily be changed.
The trick works with as many boards as you like, it just gets a
little clumsy after while, as in
config MACH_OMAP_AUTO_BOARD
def_bool y
depends on !MACH_OMAP2_TUSB6010
depends on !MACH_OMAP_H4
depends on !MACH_OMAP_APOLLON
depends on !MACH_OMAP_APOLLON
depends on !MACH_OMAP_2430SDP
depends on !MACH_OMAP3_BEAGLE
depends on !MACH_DEVKIT8000
depends on !MACH_OMAP_LDP
depends on !MACH_OMAP3530_LV_SOM
depends on !MACH_OMAP3_TORPEDO
depends on !MACH_OVERO
depends on !MACH_OMAP3EVM
depends on !MACH_OMAP3517EVM
depends on !MACH_CRANEBOARD
depends on !MACH_OMAP3_PANDORA
depends on !MACH_OMAP3_TOUCHBOOK
depends on !MACH_NOKIA_N8X0
depends on !MACH_NOKIA_RM680
depends on !MACH_NOKIA_RX51
depends on !MACH_OMAP_ZOOM2
depends on !MACH_OMAP_ZOOM3
depends on !MACH_CM_T35
depends on !MACH_CM_T3517
depends on !MACH_IGEP0020
depends on !MACH_IGEP0030
depends on !MACH_SBC3530
depends on !MACH_OMAP_3630SDP
depends on !MACH_TI8168EVM
depends on !MACH_OMAP4_PANDA
select MACH_OMAP_GENERIC if ARCH_OMAP2
select MACH_OMAP_3430SDP if ARCH_OMAP3 && !ARCH_OMAP2
select MACH_OMAP_4430SDP if ARCH_OMAP4 && !ARCH_OMAP3 && !ARCH_OMAP2
help
The kernel needs to have support for at least one board
in order to build. If none is selected, default to the
generic board.
We should probably do something like this for the ARMv5 based PXA boards,
but at least a randconfig won't trigger that normally, just because there
are so many of them that almost always at least one is enabled. However,
an allnoconfig will fail with PXA right now.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa
2011-10-09 6:21 ` Haojian Zhuang
2011-10-09 6:36 ` Eric Miao
@ 2011-10-09 11:35 ` Arnd Bergmann
1 sibling, 0 replies; 83+ messages in thread
From: Arnd Bergmann @ 2011-10-09 11:35 UTC (permalink / raw)
To: linux-arm-kernel
On Sunday 09 October 2011 14:21:35 Haojian Zhuang wrote:
> > If we move it to arch/arm/Kconfig, I would prefer making it a global option,
> > not a pxa specific one. If we introduce a top-level CONFIG_CPU_V6PLUS
> > option, we can make a number of decisions inside of Kconfig depend on that,
> > especially as we move to allow building multiple v6/v7 platforms together,
> > or multiple v5 platforms for that matter. I believe we don't need to
> > worry about v5+v7 at this point and can instead assume that won't ever
> > happen.
> >
> Nobody is using PJ4 as v6 architecture now. CPUv6 is used in old stepping
> of Dove and MMP2. CPU_PJ4 only enables CPU_v7 in the mainline code.
>
> If we used ARCH_PXA_V7 in arch/arm/Kconfig, we would have two ARCH for
> pxa. One is ARCH_PXA, and the other is ARCH_PXA_V7. Those v5 machine
> should be based on ARCH_PXA. And the saarb, tavorevb3 should be based
> on ARCH_PXA_V7. So we can avoid to define PXA_V7_MACH_AUTO. I think
> the logic of Kconfig could be easier.
I was referring to building different subarchitectures together.
We want to eventually be able to build a single kernel that
works on e.g. pxa95x (ARMv7) and omap2 (ARMv6), and we hope to get
there within the next few release. This is completely unrelated to
building a combination of old-world (ARMv3/v4/v5) and new-world
(ARMv6/v7) in a single kernel, which is something that we decided
not to try supporting in the forseeable future.
Arnd
^ permalink raw reply [flat|nested] 83+ messages in thread
* [PATCH 14/26] mtd: nand_h1900 never worked
2011-10-01 20:03 ` [PATCH 14/26] mtd: nand_h1900 never worked Arnd Bergmann
2011-10-07 8:21 ` Eric Miao
@ 2011-10-16 11:38 ` Artem Bityutskiy
1 sibling, 0 replies; 83+ messages in thread
From: Artem Bityutskiy @ 2011-10-16 11:38 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, 2011-10-01 at 22:03 +0200, Arnd Bergmann wrote:
> This driver has been broken through all of git history and
> cannot even be built. Better mark it as broken. Next stop is
> removing from the tree.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Pushed to l2-mtd-2.6.git, thanks!
NB: I'd just killed it instead...
--
Best Regards,
Artem Bityutskiy
^ permalink raw reply [flat|nested] 83+ messages in thread
end of thread, other threads:[~2011-10-16 11:38 UTC | newest]
Thread overview: 83+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-01 20:03 [PATCH 00/26] ARM: pxa specific randconfig fixes Arnd Bergmann
2011-10-01 20:03 ` [PATCH 01/26] usb/gadget/pxa25x: is_vbus_present is gone Arnd Bergmann
2011-10-06 12:19 ` Felipe Balbi
2011-10-07 2:27 ` Eric Miao
2011-10-01 20:03 ` [PATCH 02/26] sound/pxa-zylonite: use a valid device for dev_err() Arnd Bergmann
2011-10-02 18:16 ` Mark Brown
2011-10-02 18:36 ` Arnd Bergmann
2011-10-02 18:44 ` Mark Brown
2011-10-02 19:48 ` Arnd Bergmann
2011-10-02 18:24 ` Mark Brown
2011-10-01 20:03 ` [PATCH 03/26] scsi/mvsas: use proper namespace for IRQ_* symbols Arnd Bergmann
2011-10-01 20:03 ` [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h Arnd Bergmann
2011-10-07 3:48 ` Eric Miao
2011-10-01 20:03 ` [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code Arnd Bergmann
2011-10-07 3:47 ` Eric Miao
2011-10-01 20:03 ` [PATCH 06/26] ARM: pxa: add missing header inclusions Arnd Bergmann
2011-10-07 5:08 ` Eric Miao
2011-10-08 8:03 ` Russell King - ARM Linux
2011-10-08 10:23 ` Jamie Iles
2011-10-08 10:24 ` Eric Miao
2011-10-01 20:03 ` [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code Arnd Bergmann
2011-10-07 5:10 ` Eric Miao
2011-10-01 20:03 ` [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend Arnd Bergmann
2011-10-07 5:59 ` Eric Miao
2011-10-07 9:56 ` Arnd Bergmann
2011-10-08 12:37 ` Eric Miao
2011-10-08 13:00 ` Arnd Bergmann
2011-10-08 13:02 ` Eric Miao
2011-10-01 20:03 ` [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi Arnd Bergmann
2011-10-07 6:01 ` Eric Miao
2011-10-01 20:03 ` [PATCH 10/26] ARM: pxa: allow selecting just one of TREO680/CENTRO Arnd Bergmann
2011-10-07 6:12 ` Eric Miao
2011-10-01 20:03 ` [PATCH 11/26] ARM: pxa: allow building palm27x without pxafb Arnd Bergmann
2011-10-07 6:19 ` Eric Miao
2011-10-07 9:57 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 12/26] ARM: pxa: pxa95x/saarb depends on pxa3xx code Arnd Bergmann
2011-10-07 7:28 ` Eric Miao
2011-10-07 9:59 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 13/26] ARM: pxa: use correct __iomem annotations Arnd Bergmann
2011-10-07 8:11 ` Eric Miao
2011-10-07 8:51 ` Russell King - ARM Linux
2011-10-07 10:16 ` Arnd Bergmann
2011-10-08 12:43 ` Eric Miao
2011-10-01 20:03 ` [PATCH 14/26] mtd: nand_h1900 never worked Arnd Bergmann
2011-10-07 8:21 ` Eric Miao
2011-10-16 11:38 ` Artem Bityutskiy
2011-10-01 20:03 ` [PATCH 15/26] irda/ficp: only works on some pxa models Arnd Bergmann
2011-10-07 8:22 ` Eric Miao
2011-10-01 20:03 ` [PATCH 16/26] ARM: pxa: CPU_PJ4 requires IWMMXT Arnd Bergmann
2011-10-02 16:03 ` Russell King - ARM Linux
2011-10-02 17:46 ` Arnd Bergmann
2011-10-04 0:59 ` Eric Miao
2011-10-04 7:33 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 17/26] ARM: pxa: pxa95x is incompatible with earlier pxa Arnd Bergmann
2011-10-08 2:57 ` Haojian Zhuang
2011-10-08 3:21 ` Eric Miao
2011-10-08 3:32 ` Haojian Zhuang
2011-10-08 13:24 ` Arnd Bergmann
2011-10-09 6:21 ` Haojian Zhuang
2011-10-09 6:36 ` Eric Miao
2011-10-09 6:39 ` Haojian Zhuang
2011-10-09 7:28 ` Eric Miao
2011-10-09 11:31 ` Arnd Bergmann
2011-10-09 11:35 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 18/26] ARM: pxa: MTD_XIP is not actually working any more Arnd Bergmann
2011-10-08 7:44 ` Eric Miao
2011-10-08 17:36 ` Nicolas Pitre
2011-10-01 20:03 ` [PATCH 19/26] ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ Arnd Bergmann
2011-10-08 8:34 ` Eric Miao
2011-10-01 20:03 ` [PATCH 20/26] ARM: pxa: select FB_PXA on saar and tevorevb Arnd Bergmann
2011-10-08 9:50 ` Eric Miao
2011-10-08 10:07 ` Arnd Bergmann
2011-10-01 20:03 ` [PATCH 21/26] ARM: pxa: select POWER_SUPPLY on raumfeld Arnd Bergmann
2011-10-08 9:59 ` Eric Miao
2011-10-01 20:03 ` [PATCH 22/26] ARM: pxa: only select SMC91x on xcep when networking is enabled Arnd Bergmann
2011-10-08 10:10 ` Eric Miao
2011-10-01 20:03 ` [PATCH 23/26] ARM: pxa: viper: select I2C_GPIO only when I2C is on Arnd Bergmann
2011-10-01 20:03 ` [PATCH 24/26] ARM: pxa: centro and treo680 need palm27x Arnd Bergmann
2011-10-08 10:20 ` Eric Miao
2011-10-08 11:31 ` Marek Vasut
2011-10-01 20:03 ` [PATCH 25/26] ARM: pxa: eseries does not require FB Arnd Bergmann
2011-10-01 20:03 ` [PATCH 26/26] ARM: pxa: sharpsl pm needs SPI Arnd Bergmann
2011-10-08 10:22 ` Eric Miao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).