2007-09-12 02:11:19

by Paul Mundt

[permalink] [raw]
Subject: [PATCH -mm] 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.

Signed-off-by: Paul Mundt <[email protected]>

--

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

--- linux-2.6.23-rc4-mm1.orig/drivers/ssb/Kconfig 2007-09-11 15:15:52.000000000 +0900
+++ linux-2.6.23-rc4-mm1/drivers/ssb/Kconfig 2007-09-12 10:51:53.000000000 +0900
@@ -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


2007-09-12 10:12:18

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

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.
>
> Signed-off-by: Paul Mundt <[email protected]>
>
> --
>
> drivers/ssb/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-2.6.23-rc4-mm1.orig/drivers/ssb/Kconfig 2007-09-11 15:15:52.000000000 +0900
> +++ linux-2.6.23-rc4-mm1/drivers/ssb/Kconfig 2007-09-12 10:51:53.000000000 +0900
> @@ -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?

--
Greetings Michael.

2007-09-12 10:18:15

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

On Wed, Sep 12, 2007 at 12:09:09PM +0200, Michael Buesch wrote:
> 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.
> >
> > --- linux-2.6.23-rc4-mm1.orig/drivers/ssb/Kconfig 2007-09-11 15:15:52.000000000 +0900
> > +++ linux-2.6.23-rc4-mm1/drivers/ssb/Kconfig 2007-09-12 10:51:53.000000000 +0900
> > @@ -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 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.

2007-09-12 11:01:35

by Michael Büsch

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
> On Wed, Sep 12, 2007 at 12:09:09PM +0200, Michael Buesch wrote:
> > 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.
> > >
> > > --- linux-2.6.23-rc4-mm1.orig/drivers/ssb/Kconfig 2007-09-11 15:15:52.000000000 +0900
> > > +++ linux-2.6.23-rc4-mm1/drivers/ssb/Kconfig 2007-09-12 10:51:53.000000000 +0900
> > > @@ -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 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.

--
Greetings Michael.

2007-09-13 01:43:59

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

On Wed, Sep 12, 2007 at 12:59:00PM +0200, Michael Buesch wrote:
> On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
> > On Wed, Sep 12, 2007 at 12:09:09PM +0200, Michael Buesch wrote:
> > > 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.
>
> 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 ;-)

2007-09-20 19:42:56

by Joseph Fannin

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

On Thu, Sep 13, 2007 at 10:43:33AM +0900, Paul Mundt wrote:
> On Wed, Sep 12, 2007 at 12:59:00PM +0200, Michael Buesch wrote:
> > On Wednesday 12 September 2007 12:17:45 Paul Mundt wrote:
> > > On Wed, Sep 12, 2007 at 12:09:09PM +0200, Michael Buesch wrote:
> > > > 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.
> >
> > 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.

> -
> 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]

2007-09-20 21:08:37

by John W. Linville

[permalink] [raw]
Subject: Re: [PATCH -mm] ssb: Make pcmciahost depend on PCMCIA=y

On Thu, Sep 20, 2007 at 03:42:31PM -0400, Joseph Fannin wrote:

> 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?

--
John W. Linville
[email protected]