[PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

Subsystems: block layer, char and misc drivers, framebuffer layer, linux for powerpc (32-bit and 64-bit), spi subsystem, the rest

STALE6714d

6 messages, 2 authors, 2008-03-19 · open the first message on its own page

[PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Stephen Neuendorffer <hidden>
Date: 2008-02-12 21:31:25

In the future, this will be used to provide similar configuration for
PowerPC and Microblaze.  It may also be convenient for those using
Xilinx cores as peripherals for external processors, rather than
explicitly having a dependance on the processor architecture.

Signed-off-by: Stephen Neuendorffer <redacted>

---

Grant,

This is the patch, updated for all of the drivers that I think are in
the tree.  I think the problematic parts may be the ppc part, which is
required for backward compatibility.  If this has to wait until ppc
dies, then that's fine with me, I guess.

It may also be better to clean up the Kconfig lines for Sysace and
framebuffer drivers by having PPC32 or PPC4xx select XILINX_DRIVERS.
My understanding is that those config options are there because of
people using external PPCs with those devices in the FPGA.

Steve
---
 arch/powerpc/platforms/40x/Kconfig |    1 +
 arch/ppc/platforms/4xx/Kconfig     |    1 +
 drivers/block/Kconfig              |    2 +-
 drivers/char/Kconfig               |    2 +-
 drivers/misc/Kconfig               |   10 ++++++++++
 drivers/serial/Kconfig             |    2 +-
 drivers/spi/Kconfig                |    2 +-
 drivers/video/Kconfig              |    2 +-
 8 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index 8f6699f..03051bc 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -110,6 +110,7 @@ config 405GPR
 
 config XILINX_VIRTEX
 	bool
+	select XILINX_DRIVERS
 
 config XILINX_VIRTEX_II_PRO
 	bool
diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig
index 76551b6..d7db7e4 100644
--- a/arch/ppc/platforms/4xx/Kconfig
+++ b/arch/ppc/platforms/4xx/Kconfig
@@ -228,6 +228,7 @@ config XILINX_VIRTEX_4_FX
 
 config XILINX_VIRTEX
 	bool
+	select XILINX_DRIVERS
 
 config STB03xxx
 	bool
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 4d0119e..0166560 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -412,7 +412,7 @@ source "drivers/s390/block/Kconfig"
 
 config XILINX_SYSACE
 	tristate "Xilinx SystemACE support"
-	depends on 4xx
+	depends on 4xx || XILINX_DRIVERS
 	help
 	  Include support for the Xilinx SystemACE CompactFlash interface
 
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 157ae2a..8230ad1 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -833,7 +833,7 @@ config DTLK
 
 config XILINX_HWICAP
 	tristate "Xilinx HWICAP Support"
-	depends on XILINX_VIRTEX
+	depends on XILINX_DRIVERS
 	help
 	  This option enables support for Xilinx Internal Configuration
 	  Access Port (ICAP) driver.
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index b5e67c0..e7b0bed 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -233,3 +233,13 @@ config ATMEL_SSC
 	  If unsure, say N.
 
 endif # MISC_DEVICES
+endmenu
+
+
+#
+# Xilinx devices and common device driver infrastructure
+#
+
+config XILINX_DRIVERS
+  bool
+
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index d7e1996..f922ec6 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -757,7 +757,7 @@ config SERIAL_IMX_CONSOLE
 
 config SERIAL_UARTLITE
 	tristate "Xilinx uartlite serial port support"
-	depends on PPC32
+	depends on PPC32 || XILINX_DRIVERS
 	select SERIAL_CORE
 	help
 	  Say Y here if you want to use the Xilinx uartlite serial controller.
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index abf0504..c66838f 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -183,7 +183,7 @@ config SPI_TXX9
 
 config SPI_XILINX
 	tristate "Xilinx SPI controller"
-	depends on SPI_MASTER && XILINX_VIRTEX && EXPERIMENTAL
+	depends on SPI_MASTER && XILINX_DRIVERS && EXPERIMENTAL
 	select SPI_BITBANG
 	help
 	  This exposes the SPI controller IP from the Xilinx EDK.
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 5b3dbcf..a66ff4b 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1871,7 +1871,7 @@ config FB_PS3_DEFAULT_SIZE_M
 
 config FB_XILINX
 	tristate "Xilinx frame buffer support"
-	depends on FB && XILINX_VIRTEX
+	depends on FB && XILINX_DRIVERS
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
-- 
1.5.3.4-dirty

Re: [PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Grant Likely <hidden>
Date: 2008-03-19 04:15:46

On Tue, Feb 12, 2008 at 3:31 PM, Stephen Neuendorffer
[off-list ref] wrote:
In the future, this will be used to provide similar configuration for
 PowerPC and Microblaze.  It may also be convenient for those using
 Xilinx cores as peripherals for external processors, rather than
 explicitly having a dependance on the processor architecture.

 Signed-off-by: Stephen Neuendorffer [off-list ref]

 ---

 Grant,

 This is the patch, updated for all of the drivers that I think are in
 the tree.  I think the problematic parts may be the ppc part, which is
 required for backward compatibility.  If this has to wait until ppc
 dies, then that's fine with me, I guess.

 It may also be better to clean up the Kconfig lines for Sysace and
 framebuffer drivers by having PPC32 or PPC4xx select XILINX_DRIVERS.
 My understanding is that those config options are there because of
 people using external PPCs with those devices in the FPGA.
Hey Steve;

I haven't forgotten about this patch, but I've been thinking about it
some more and I'm coming to the conclusion that it might just be
better to eliminate driver dependence on XILINX_DRIVERS and
XILINX_VIRTEX entirely and instead just make each of them "depends on
PPC32 || MICROBLAZE".  There's no reason to restrict compiling these
drivers to platforms that are known to have xilinx parts on them.

I know that in most cases they will not be used, but by relaxing the
dependencies they will get compile tested on more platforms than they
are now and they'll get picked up for make allyesconfigs builds.  In
my mind this means greater chances of compile bugs getting found and
reported.

In fact, it would be nice to drop the PPC32 || MICROBLAZE dependency
too; but I think the drivers are using io primitives at the moment
that are not portable to x86.

Thoughts?

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

RE: [PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Stephen Neuendorffer <hidden>
Date: 2008-03-19 04:32:11

Hmm... interesting points.  I guess my feeling was that XILINX_DRIVERS could be a more broadly configurable option, with some of these ideas in mind.  Currently, it's hidden by default, but we could easily change this to be visible by default, or selected by a broader number of architectures.  I tend to think about them as a group: What if x86 *did* support the primitives needed by these drivers, then if the individual drivers depend on XILINX_DRIVERS, then the modification could be made in one spot.  By your suggestion, we would have to modify each one independantly.

I do dislike the hodgepodge of different configuration dependencies (such as Sysace)... It makes sense to me to have them be uniformly available.  If they are all going to be PPC32 || microblaze, then it seems to me like there should be an intermediate configuration option that expresses exactly that set.

Would you feel differently if we flipped the dependencies around, like XILINX_DRIVERS depends on PPC32 || MICROBLAZE?

Steve


-----Original Message-----
From: glikely@secretlab.ca on behalf of Grant Likely
Sent: Tue 3/18/2008 9:15 PM
To: Stephen Neuendorffer
Cc: linuxppc-dev@ozlabs.org; jacmet@sunsite.dk
Subject: Re: [PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.
 
On Tue, Feb 12, 2008 at 3:31 PM, Stephen Neuendorffer
[off-list ref] wrote:
In the future, this will be used to provide similar configuration for
 PowerPC and Microblaze.  It may also be convenient for those using
 Xilinx cores as peripherals for external processors, rather than
 explicitly having a dependance on the processor architecture.

 Signed-off-by: Stephen Neuendorffer [off-list ref]

 ---

 Grant,

 This is the patch, updated for all of the drivers that I think are in
 the tree.  I think the problematic parts may be the ppc part, which is
 required for backward compatibility.  If this has to wait until ppc
 dies, then that's fine with me, I guess.

 It may also be better to clean up the Kconfig lines for Sysace and
 framebuffer drivers by having PPC32 or PPC4xx select XILINX_DRIVERS.
 My understanding is that those config options are there because of
 people using external PPCs with those devices in the FPGA.
Hey Steve;

I haven't forgotten about this patch, but I've been thinking about it
some more and I'm coming to the conclusion that it might just be
better to eliminate driver dependence on XILINX_DRIVERS and
XILINX_VIRTEX entirely and instead just make each of them "depends on
PPC32 || MICROBLAZE".  There's no reason to restrict compiling these
drivers to platforms that are known to have xilinx parts on them.

I know that in most cases they will not be used, but by relaxing the
dependencies they will get compile tested on more platforms than they
are now and they'll get picked up for make allyesconfigs builds.  In
my mind this means greater chances of compile bugs getting found and
reported.

In fact, it would be nice to drop the PPC32 || MICROBLAZE dependency
too; but I think the drivers are using io primitives at the moment
that are not portable to x86.

Thoughts?

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

Re: [PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Grant Likely <hidden>
Date: 2008-03-19 05:05:58

On Tue, Mar 18, 2008 at 10:32 PM, Stephen Neuendorffer
[off-list ref] wrote:



Hmm... interesting points.  I guess my feeling was that XILINX_DRIVERS could
be a more broadly configurable option, with some of these ideas in mind.
Currently, it's hidden by default, but we could easily change this to be
visible by default, or selected by a broader number of architectures.  I
tend to think about them as a group: What if x86 *did* support the
primitives needed by these drivers, then if the individual drivers depend on
XILINX_DRIVERS, then the modification could be made in one spot.  By your
suggestion, we would have to modify each one independantly.
Heh; it's not *that* many drivers and it's just Kconfig stuff which is
real easy to change.  My preference would be to eliminate
XILINX_DRIVERS entirely, but I'm not going to fight about it.  :-)

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

RE: [PATCH] [RFC] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Stephen Neuendorffer <hidden>
Date: 2008-03-19 17:22:02

My feeling is if the drivers should be consistently enabled or not, then
we should enforce that consistency by the structure of the code.

Steve
-----Original Message-----
From: glikely@secretlab.ca [mailto:glikely@secretlab.ca] On Behalf Of
Grant Likely
Sent: Tuesday, March 18, 2008 10:06 PM
To: Stephen Neuendorffer
Cc: linuxppc-dev@ozlabs.org; jacmet@sunsite.dk
Subject: Re: [PATCH] [RFC] Xilinx: Add generic configuration option to
enable all xilinx drivers.
=20
On Tue, Mar 18, 2008 at 10:32 PM, Stephen Neuendorffer
[off-list ref] wrote:
quoted



Hmm... interesting points.  I guess my feeling was that
XILINX_DRIVERS could
quoted
be a more broadly configurable option, with some of these ideas in
mind.
quoted
Currently, it's hidden by default, but we could easily change this
to be
quoted
visible by default, or selected by a broader number of
architectures.  I
quoted
tend to think about them as a group: What if x86 *did* support the
primitives needed by these drivers, then if the individual drivers
depend on
quoted
XILINX_DRIVERS, then the modification could be made in one spot.  By
your
quoted
suggestion, we would have to modify each one independantly.
=20
Heh; it's not *that* many drivers and it's just Kconfig stuff which is
real easy to change.  My preference would be to eliminate
XILINX_DRIVERS entirely, but I'm not going to fight about it.  :-)
=20
Cheers,
g.
=20
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

[PATCH] [RFC][v2] Xilinx: Add generic configuration option to enable all xilinx drivers.

From: Stephen Neuendorffer <hidden>
Date: 2008-03-19 17:28:33

In the future, this will be used to provide similar configuration for
PowerPC and Microblaze.  It may also be convenient for those using
Xilinx cores as peripherals for external processors, rather than
explicitly having a dependance on the processor architecture.

Signed-off-by: Stephen Neuendorffer <redacted>

[V2] Updated to depend on PPC32, rather than just XILINX_VIRTEX, to let
these drivers be compiled in more configurations.

---

Grant,

There is still the issue of the ppc part, which is
required for backward compatibility.  If this has to wait until ppc
dies, then that's fine with me, I guess.

Steve
---
 drivers/block/Kconfig  |    2 +-
 drivers/char/Kconfig   |    2 +-
 drivers/misc/Kconfig   |   17 +++++++++++++++++
 drivers/serial/Kconfig |    2 +-
 drivers/spi/Kconfig    |    2 +-
 drivers/video/Kconfig  |    2 +-
 6 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 4d0119e..7f55ba4 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -412,7 +412,7 @@ source "drivers/s390/block/Kconfig"
 
 config XILINX_SYSACE
 	tristate "Xilinx SystemACE support"
-	depends on 4xx
+	depends on XILINX_DRIVERS
 	help
 	  Include support for the Xilinx SystemACE CompactFlash interface
 
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 157ae2a..8230ad1 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -833,7 +833,7 @@ config DTLK
 
 config XILINX_HWICAP
 	tristate "Xilinx HWICAP Support"
-	depends on XILINX_VIRTEX
+	depends on XILINX_DRIVERS
 	help
 	  This option enables support for Xilinx Internal Configuration
 	  Access Port (ICAP) driver.
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index b5e67c0..89f9309 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -233,3 +233,20 @@ config ATMEL_SSC
 	  If unsure, say N.
 
 endif # MISC_DEVICES
+endmenu
+
+
+#
+# Xilinx devices and common device driver infrastructure
+#
+
+config XILINX_DRIVERS
+	bool
+	depends on PPC32
+	default y
+	---help---
+	  This option is used to enable all of the Xilinx drivers on
+	  supported architectures.  This is often useful if you have a
+	  Xilinx FPGA in a system, either using embedded processors
+	  internal to the FPGA or external processors.
+
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index d7e1996..d4e8879 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -757,7 +757,7 @@ config SERIAL_IMX_CONSOLE
 
 config SERIAL_UARTLITE
 	tristate "Xilinx uartlite serial port support"
-	depends on PPC32
+	depends on XILINX_DRIVERS
 	select SERIAL_CORE
 	help
 	  Say Y here if you want to use the Xilinx uartlite serial controller.
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index abf0504..c66838f 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -183,7 +183,7 @@ config SPI_TXX9
 
 config SPI_XILINX
 	tristate "Xilinx SPI controller"
-	depends on SPI_MASTER && XILINX_VIRTEX && EXPERIMENTAL
+	depends on SPI_MASTER && XILINX_DRIVERS && EXPERIMENTAL
 	select SPI_BITBANG
 	help
 	  This exposes the SPI controller IP from the Xilinx EDK.
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 5b3dbcf..a66ff4b 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1871,7 +1871,7 @@ config FB_PS3_DEFAULT_SIZE_M
 
 config FB_XILINX
 	tristate "Xilinx frame buffer support"
-	depends on FB && XILINX_VIRTEX
+	depends on FB && XILINX_DRIVERS
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
-- 
1.5.3.4-dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help