2012-10-08 17:36:13

by Tony Lindgren

[permalink] [raw]
Subject: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

Drivers should not use cpu_is_omap or cpu_class_is_omap macros,
they should be private to the platform init code. And we'll be
removing plat/cpu.h and only have a private soc.h for the
arch/arm/*omap* code.

This patch is intended as preparation for the core omap changes
and removes the need to include plat/cpu.h from several drivers.
This is needed for the ARM common zImage support.

These changes are OK to do because:

- omap-rng.c and hsmmc.c don't need plat/cpu.h

- omap-aes.c and omap-sham.c get the proper platform_data
passed to them so they don't need extra checks in the driver

- omap-dma.c and omap-pcm.c can test the arch locally as
omap1 and omap2 cannot be compiled together because of
conflicting compiler flags

Cc: Deepak Saxena <[email protected]>
Cc: Matt Mackall <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: Venkatraman S <[email protected]>
Cc: Chris Ball <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Peter Ujfalusi <[email protected]>
Cc: Jarkko Nikula <[email protected]>
Cc: Liam Girdwood <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Tony Lindgren <[email protected]>
---
drivers/char/hw_random/omap-rng.c | 2 --
drivers/crypto/omap-aes.c | 6 ------
drivers/crypto/omap-sham.c | 8 --------
drivers/dma/omap-dma.c | 9 +++++++--
drivers/mmc/host/omap_hsmmc.c | 1 -
sound/soc/omap/omap-pcm.c | 9 +++++++--
6 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c
index a5effd8..45e467d 100644
--- a/drivers/char/hw_random/omap-rng.c
+++ b/drivers/char/hw_random/omap-rng.c
@@ -27,8 +27,6 @@

#include <asm/io.h>

-#include <plat/cpu.h>
-
#define RNG_OUT_REG 0x00 /* Output register */
#define RNG_STAT_REG 0x04 /* Status register
[0] = STAT_BUSY */
diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
index 3e61feb..649a146 100644
--- a/drivers/crypto/omap-aes.c
+++ b/drivers/crypto/omap-aes.c
@@ -29,7 +29,6 @@
#include <crypto/scatterwalk.h>
#include <crypto/aes.h>

-#include <plat/cpu.h>
#include <plat-omap/dma-omap.h>

/* OMAP TRM gives bitfields as start:end, where start is the higher bit
@@ -941,11 +940,6 @@ static int __init omap_aes_mod_init(void)
{
pr_info("loading %s driver\n", "omap-aes");

- if (!cpu_class_is_omap2() || omap_type() != OMAP2_DEVICE_TYPE_SEC) {
- pr_err("Unsupported cpu\n");
- return -ENODEV;
- }
-
return platform_driver_register(&omap_aes_driver);
}

diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
index 6d79695..d76fe06 100644
--- a/drivers/crypto/omap-sham.c
+++ b/drivers/crypto/omap-sham.c
@@ -37,7 +37,6 @@
#include <crypto/hash.h>
#include <crypto/internal/hash.h>

-#include <plat/cpu.h>
#include <plat-omap/dma-omap.h>
#include <mach/irqs.h>

@@ -1289,13 +1288,6 @@ static int __init omap_sham_mod_init(void)
{
pr_info("loading %s driver\n", "omap-sham");

- if (!cpu_class_is_omap2() ||
- (omap_type() != OMAP2_DEVICE_TYPE_SEC &&
- omap_type() != OMAP2_DEVICE_TYPE_EMU)) {
- pr_err("Unsupported cpu\n");
- return -ENODEV;
- }
-
return platform_driver_register(&omap_sham_driver);
}

diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c
index 0b4fa50..56d9253 100644
--- a/drivers/dma/omap-dma.c
+++ b/drivers/dma/omap-dma.c
@@ -19,9 +19,14 @@

#include "virt-dma.h"

-#include <plat/cpu.h>
#include <plat-omap/dma-omap.h>

+#ifdef CONFIG_ARCH_OMAP2PLUS
+#define dma_omap2plus() 1
+#else
+#define dma_omap2plus() 0
+#endif
+
struct omap_dmadev {
struct dma_device ddev;
spinlock_t lock;
@@ -438,7 +443,7 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic(
omap_disable_dma_irq(c->dma_ch, OMAP_DMA_BLOCK_IRQ);
}

- if (!cpu_class_is_omap1()) {
+ if (dma_omap2plus()) {
omap_set_dma_src_burst_mode(c->dma_ch, OMAP_DMA_DATA_BURST_16);
omap_set_dma_dest_burst_mode(c->dma_ch, OMAP_DMA_DATA_BURST_16);
}
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 85b164e..24df035 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -40,7 +40,6 @@
#include <linux/pm_runtime.h>
#include <linux/platform_data/mmc-omap.h>
#include <mach/hardware.h>
-#include <plat/cpu.h>

/* OMAP HSMMC Host Controller Registers */
#define OMAP_HSMMC_SYSSTATUS 0x0014
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index 340874e..52977aa 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -32,9 +32,14 @@
#include <sound/dmaengine_pcm.h>
#include <sound/soc.h>

-#include <plat/cpu.h>
#include "omap-pcm.h"

+#ifdef CONFIG_ARCH_OMAP1
+#define pcm_omap1510() cpu_is_omap1510()
+#else
+#define pcm_omap1510() 0
+#endif
+
static const struct snd_pcm_hardware omap_pcm_hardware = {
.info = SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_MMAP_VALID |
@@ -159,7 +164,7 @@ static snd_pcm_uframes_t omap_pcm_pointer(struct snd_pcm_substream *substream)
{
snd_pcm_uframes_t offset;

- if (cpu_is_omap1510())
+ if (pcm_omap1510())
offset = snd_dmaengine_pcm_pointer_no_residue(substream);
else
offset = snd_dmaengine_pcm_pointer(substream);


2012-10-08 18:09:15

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

* Tony Lindgren <[email protected]> [121008 10:37]:
> Drivers should not use cpu_is_omap or cpu_class_is_omap macros,
> they should be private to the platform init code. And we'll be
> removing plat/cpu.h and only have a private soc.h for the
> arch/arm/*omap* code.
>
> This patch is intended as preparation for the core omap changes
> and removes the need to include plat/cpu.h from several drivers.
> This is needed for the ARM common zImage support.
>
> These changes are OK to do because:
>
> - omap-rng.c and hsmmc.c don't need plat/cpu.h
>
> - omap-aes.c and omap-sham.c get the proper platform_data
> passed to them so they don't need extra checks in the driver
>
> - omap-dma.c and omap-pcm.c can test the arch locally as
> omap1 and omap2 cannot be compiled together because of
> conflicting compiler flags


> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -40,7 +40,6 @@
> #include <linux/pm_runtime.h>
> #include <linux/platform_data/mmc-omap.h>
> #include <mach/hardware.h>
> -#include <plat/cpu.h>
>
> /* OMAP HSMMC Host Controller Registers */
> #define OMAP_HSMMC_SYSSTATUS 0x0014

Actually I'll fold this mmc change into an earlier patch
I've posted as "ARM: OMAP: Split plat/mmc.h into local headers
and platform_data".

Regards,

Tony

2012-10-09 06:20:28

by Jarkko Nikula

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

On Mon, 08 Oct 2012 10:35:57 -0700
Tony Lindgren <[email protected]> wrote:

> - omap-dma.c and omap-pcm.c can test the arch locally as
> omap1 and omap2 cannot be compiled together because of
> conflicting compiler flags
...
> sound/soc/omap/omap-pcm.c | 9 +++++++--

Build tested above for omap1 and omap2+.

Acked-by: Jarkko Nikula <[email protected]>

2012-10-09 09:01:48

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

On 10/08/2012 07:35 PM, Tony Lindgren wrote:

> - omap-dma.c and omap-pcm.c can test the arch locally as
> omap1 and omap2 cannot be compiled together because of
> conflicting compiler flags

> sound/soc/omap/omap-pcm.c | 9 +++++++--

Tony: is this going to be included in 3.7?

Acked-by: Peter Ujfalusi <[email protected]>

2012-10-10 00:19:57

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

* Péter Ujfalusi <[email protected]> [121009 02:03]:
> On 10/08/2012 07:35 PM, Tony Lindgren wrote:
>
> > - omap-dma.c and omap-pcm.c can test the arch locally as
> > omap1 and omap2 cannot be compiled together because of
> > conflicting compiler flags
>
> > sound/soc/omap/omap-pcm.c | 9 +++++++--
>
> Tony: is this going to be included in 3.7?

Hmm I guess we could try to get this out of the way
to cut down the dependencies. Let's if maintainers
of the other affected drivers this is OK for the
-rc series.

Regards,

Tony

2012-10-16 00:07:34

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

* Tony Lindgren <[email protected]> [121009 17:21]:
> * Péter Ujfalusi <[email protected]> [121009 02:03]:
> > On 10/08/2012 07:35 PM, Tony Lindgren wrote:
> >
> > > - omap-dma.c and omap-pcm.c can test the arch locally as
> > > omap1 and omap2 cannot be compiled together because of
> > > conflicting compiler flags
> >
> > > sound/soc/omap/omap-pcm.c | 9 +++++++--
> >
> > Tony: is this going to be included in 3.7?
>
> Hmm I guess we could try to get this out of the way
> to cut down the dependencies. Let's if maintainers
> of the other affected drivers this is OK for the
> -rc series.

It seems that nobody needs these until for v3.8, so I'll
be applying this into omap-for-v3.8/cleanup-headers-prepare
branch soon.

Anybody else care to ack?

Regards,

Tony

2012-10-17 18:13:43

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: OMAP: Trivial driver changes to remove include plat/cpu.h

* Tony Lindgren <[email protected]> [121015 17:09]:
> * Tony Lindgren <[email protected]> [121009 17:21]:
> > * Péter Ujfalusi <[email protected]> [121009 02:03]:
> > > On 10/08/2012 07:35 PM, Tony Lindgren wrote:
> > >
> > > > - omap-dma.c and omap-pcm.c can test the arch locally as
> > > > omap1 and omap2 cannot be compiled together because of
> > > > conflicting compiler flags
> > >
> > > > sound/soc/omap/omap-pcm.c | 9 +++++++--
> > >
> > > Tony: is this going to be included in 3.7?
> >
> > Hmm I guess we could try to get this out of the way
> > to cut down the dependencies. Let's if maintainers
> > of the other affected drivers this is OK for the
> > -rc series.
>
> It seems that nobody needs these until for v3.8, so I'll
> be applying this into omap-for-v3.8/cleanup-headers-prepare
> branch soon.
>
> Anybody else care to ack?

OK pushed out now with just that patch in the branch in case
driver branches need to merge it in too to avoid conflicts.

Regards,

Tony