Skip to contentSkip to conversation

ssb: Make pcmciahost depend on PCMCIA=y

PATCH In review Paul Mundt 4 participants 7 messages Sep 12, 2007 – Sep 20, 2007 Sonics silicon backplane driver (ssb)

lore
Share & tools
lore

Paul Mundt

author
#0 lore raw

PATCH 1/1 ssb: Make pcmciahost depend on PCMCIA=y

SSB uses a bool (SSB_PCMCIAHOST_POSSIBLE) to determine whether to build in PCMCIA support or not, as the PCMCIA host code itself is also only a bool, make SSB_PCMCIAHOST_POSSIBLE depend on PCMCIA=y.

Without this, SSB_PCMCIAHOST_POSSIBLE evaluates to y when PCMCIA is built as a module, which results in link errors due to the pcmcia_access_configuration_register() accesses, where the symbol is only defined in a module.

--

 drivers/ssb/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/ssb/Kconfig +1 -1
@@ -37,7 +37,7 @@
 
 config SSB_PCMCIAHOST_POSSIBLE
 	bool
-	depends on SSB && PCMCIA && EXPERIMENTAL
+	depends on SSB && PCMCIA=y && EXPERIMENTAL
 	default y
 
 config SSB_PCMCIAHOST
#1 lore raw
Quoted 21 lines · On Wednesday 12 September 2007 04:11:00 Paul Mundt wrote:

SSB uses a bool (SSB_PCMCIAHOST_POSSIBLE) to determine whether to build in PCMCIA support or not, as the PCMCIA host code itself is also only a bool, make SSB_PCMCIAHOST_POSSIBLE depend on PCMCIA=y.

Without this, SSB_PCMCIAHOST_POSSIBLE evaluates to y when PCMCIA is built as a module, which results in link errors due to the pcmcia_access_configuration_register() accesses, where the symbol is only defined in a module.

--

 drivers/ssb/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

drivers/ssb/Kconfig line 43

Quoted 8 lines
drivers/ssb/Kconfig +1 -1
@@ -37,7 +37,7 @@
 
 config SSB_PCMCIAHOST_POSSIBLE
 	bool
-	depends on SSB && PCMCIA && EXPERIMENTAL
+	depends on SSB && PCMCIA=y && EXPERIMENTAL
 	default y
 
 config SSB_PCMCIAHOST

There we go. The usual SELECT dependency hell again... Would changing SSB_PCMCIAHOST_POSSIBLE to tristate also fix it? What would be the sideeffects?

I think this PCMCIA=y is not good, because it's perfectly legal to build PCMCIA as module, while SSB and everything that depends on SSB is also a module.
Would tristate fix that?

Signature · 1 line
Greetings Michael.
author
#2 lore raw
Quoted 20 lines · Michael Buesch
Quoted 19 lines · On Wednesday 12 September 2007 04:11:00 Paul Mundt wrote:

SSB uses a bool (SSB_PCMCIAHOST_POSSIBLE) to determine whether to build in PCMCIA support or not, as the PCMCIA host code itself is also only a bool, make SSB_PCMCIAHOST_POSSIBLE depend on PCMCIA=y.

Without this, SSB_PCMCIAHOST_POSSIBLE evaluates to y when PCMCIA is built as a module, which results in link errors due to the pcmcia_access_configuration_register() accesses, where the symbol is only defined in a module.

drivers/ssb/Kconfig +1 -1
@@ -37,7 +37,7 @@
 
 config SSB_PCMCIAHOST_POSSIBLE
 	bool
-	depends on SSB && PCMCIA && EXPERIMENTAL
+	depends on SSB && PCMCIA=y && EXPERIMENTAL
 	default y
 
Quoted 8 lines

drivers/ssb/Kconfig line 43

Quoted 3 lines
drivers/ssb/Kconfig +0 -0
 config SSB_PCMCIAHOST

There we go. The usual SELECT dependency hell again... Would changing SSB_PCMCIAHOST_POSSIBLE to tristate also fix it? What would be the sideeffects?

I tried that first, if you do that you have to change the default to SSB && PCMCIA, and then anything that depends on it also has to be a tristate. That worked ok for SSB_PCMCIAHOST, but it didn't work ok for the b43 wireless + PCMCIA, which is why I opted for the PCMCIA=y thing instead, which makes sure that SSB_PCMCIAHOST can't be enabled if PCMCIA is modular.

#3 lore raw
Quoted 29 lines · On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
Quoted 20 lines · Michael Buesch
Quoted 19 lines · On Wednesday 12 September 2007 04:11:00 Paul Mundt wrote:

SSB uses a bool (SSB_PCMCIAHOST_POSSIBLE) to determine whether to build in PCMCIA support or not, as the PCMCIA host code itself is also only a bool, make SSB_PCMCIAHOST_POSSIBLE depend on PCMCIA=y.

Without this, SSB_PCMCIAHOST_POSSIBLE evaluates to y when PCMCIA is built as a module, which results in link errors due to the pcmcia_access_configuration_register() accesses, where the symbol is only defined in a module.

drivers/ssb/Kconfig +1 -1
@@ -37,7 +37,7 @@
 
 config SSB_PCMCIAHOST_POSSIBLE
 	bool
-	depends on SSB && PCMCIA && EXPERIMENTAL
+	depends on SSB && PCMCIA=y && EXPERIMENTAL
 	default y
 
Quoted 8 lines

drivers/ssb/Kconfig line 43

Quoted 3 lines
drivers/ssb/Kconfig +0 -0
 config SSB_PCMCIAHOST

There we go. The usual SELECT dependency hell again... Would changing SSB_PCMCIAHOST_POSSIBLE to tristate also fix it? What would be the sideeffects?

Quoted 6 lines

I tried that first, if you do that you have to change the default to SSB && PCMCIA, and then anything that depends on it also has to be a tristate. That worked ok for SSB_PCMCIAHOST, but it didn't work ok for the b43 wireless + PCMCIA, which is why I opted for the PCMCIA=y thing instead, which makes sure that SSB_PCMCIAHOST can't be enabled if PCMCIA is modular.

Ok, so much for "SELECT is easy and it works if used correctly..." :) Well, let's apply that patch then. It needlessly restricts the choice to not allow modular pcmcia in that case, though.

Signature · 1 line
Greetings Michael.
author
#4 lore raw
Quoted 13 lines · Michael Buesch
Quoted 11 lines · On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
Quoted 4 lines · Michael Buesch

There we go. The usual SELECT dependency hell again... Would changing SSB_PCMCIAHOST_POSSIBLE to tristate also fix it? What would be the sideeffects?

I tried that first, if you do that you have to change the default to SSB && PCMCIA, and then anything that depends on it also has to be a tristate. That worked ok for SSB_PCMCIAHOST, but it didn't work ok for the b43 wireless + PCMCIA, which is why I opted for the PCMCIA=y thing instead, which makes sure that SSB_PCMCIAHOST can't be enabled if PCMCIA is modular.

Quoted 4 lines

Ok, so much for "SELECT is easy and it works if used correctly..." :) Well, let's apply that patch then. It needlessly restricts the choice to not allow modular pcmcia in that case, though.

That is the compromise, yes. Feel free to propose a better solution ;-)

#5 lore raw
Quoted 14 lines · Paul Mundt
Quoted 13 lines · Michael Buesch
Quoted 11 lines · On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
Quoted 4 lines · Michael Buesch

There we go. The usual SELECT dependency hell again... Would changing SSB_PCMCIAHOST_POSSIBLE to tristate also fix it? What would be the sideeffects?

I tried that first, if you do that you have to change the default to SSB && PCMCIA, and then anything that depends on it also has to be a tristate. That worked ok for SSB_PCMCIAHOST, but it didn't work ok for the b43 wireless + PCMCIA, which is why I opted for the PCMCIA=y thing instead, which makes sure that SSB_PCMCIAHOST can't be enabled if PCMCIA is modular.

Quoted 5 lines
Quoted 4 lines

Ok, so much for "SELECT is easy and it works if used correctly..." :) Well, let's apply that patch then. It needlessly restricts the choice to not allow modular pcmcia in that case, though.

That is the compromise, yes. Feel free to propose a better solution ;-)

    I just ran into this link error (CONFIG_PCMCIA=m;

CONFIG_SSB_PCMCIAHOST=y). No big deal; I don't have the hardware.

But yeah, this is still a problem.

Quoted 6 lines

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

--
Joseph Fannin
[email protected]

#6 lore raw
Quoted 4 lines · Joseph Fannin
    I just ran into this link error (CONFIG_PCMCIA=m;

CONFIG_SSB_PCMCIAHOST=y). No big deal; I don't have the hardware.

But yeah, this is still a problem.

config SSB_PCMCIAHOST_POSSIBLE

        bool
        depends on SSB && PCMCIA && EXPERIMENTAL
        default y

config SSB_PCMCIAHOST
bool "Support for SSB on PCMCIA-bus host (EXPERIMENTAL)" depends on SSB_PCMCIAHOST_POSSIBLE
help

What tree are you using?

Signature · 2 lines
John W. Linville
[email protected]