linux-2.4.6-pre8/drivers/mtd/nand/spia.c references four
undefined symbols, presumably intended to be #define constants,
although I am not sure what their values are supposed to be:
IO_BASE
FIO_BASE
PEDR
PEDDR
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
[email protected] \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
"Adam J. Richter" wrote:
>
> linux-2.4.6-pre8/drivers/mtd/nand/spia.c references four
> undefined symbols, presumably intended to be #define constants,
> although I am not sure what their values are supposed to be:
>
> IO_BASE
> FIO_BASE
> PEDR
> PEDDR
>
The way that I architected the raw NAND flash device driver was to
break it into 2 parts. 'nand.c' contains the actual driver code and
is considered to be device independent. 'spia.c' is the device
dependent part. You should write your own version of 'spia.c' and
"simply" fill in the addresses for the IO address and control
register address depending on your specific hardware. The above
symbols are only defined for my specific hardware. They should be
changed to values used on your hardware platform. Let me know if
you need further assistance.
-Steve
--
Steven J. Hill - Embedded SW Engineer
> The way that I architected the raw NAND flash device driver was to
> break it into 2 parts. 'nand.c' contains the actual driver code and
> is considered to be device independent. 'spia.c' is the device
> dependent part. You should write your own version of 'spia.c' and
So the Config.in is wrong since I can select spia on x86
[email protected] said:
> 'spia.c' is the device dependent part. You should write your own
> version of 'spia.c' and "simply" fill in the addresses for the IO
> address and control register address depending on your specific
> hardware. The above symbols are only defined for my specific hardware.
Where are those four variables defined? In platform-dependent code for your
board? If so, we should probably make the config option dependent on that
platform.
That'll make ESR whinge at me if support for your platform isn't (yet) in
Linus' tree - but I don't care too much about that.
--
dwmw2
[email protected] said:
> So the Config.in is wrong since I can select spia on x86
Yep. I've added a few more dependencies like that to the map drivers too. I
heard rumours that someone else had done similar changes, but nobody sent me
a patch so those rumours can't be true.
I'll wait for Steven to fix this up and then send all those changes to
Linus.
Assuming, that is, that nobody else takes it upon themselves to keep
resending small bits of the pending changes, gratuitously making it harder
to me to keep in sync.
--
dwmw2
>> linux-2.4.6-pre8/drivers/mtd/nand/spia.c references four
>> undefined symbols, presumably intended to be #define constants,
>> although I am not sure what their values are supposed to be:
>>
>> IO_BASE
>> FIO_BASE
>> PEDR
>> PEDDR
>>
>The way that I architected the raw NAND flash device driver was to
>break it into 2 parts. 'nand.c' contains the actual driver code and
>is considered to be device independent. 'spia.c' is the device
>dependent part. You should write your own version of 'spia.c' and
>"simply" fill in the addresses for the IO address and control
>register address depending on your specific hardware. The above
>symbols are only defined for my specific hardware. They should be
>changed to values used on your hardware platform. Let me know if
>you need further assistance.
>-Steve
>--
> Steven J. Hill - Embedded SW Engineer
If there is no architecture on which
linux-2.4.6-pre8/drivers/mtd/nand/spia.c will compile in its
"pristine" form, then the CONFIG_MTD_NAND_SPIA should be commented
out from drivers/mtd/nand/Config.in to avoid wasting the time of
users and automated build processes alike that just want to build
all available modules by default. (At the moment, this code is
not even bracketed by CONFIG_EXPERIMENTAL, although changing that
would not be a sufficient fix.)
Alternatively, if you will send me a one line description
of each of those four #define parameters, I will be happy to do the grunt
work of submiting a patch to you or whoever is appropriate to replace
those values with module and setup parameters that default to those
values if there are #defined and otherwise will abort initialization
if they are not #defined and no values were provided at run time.
(Or, better, yet, you can do this work!)
Please let me know how you want to proceed.
Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
[email protected] \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
"Adam J. Richter" wrote:
>
> If there is no architecture on which
> linux-2.4.6-pre8/drivers/mtd/nand/spia.c will compile in its
> "pristine" form, then the CONFIG_MTD_NAND_SPIA should be commented
> out from drivers/mtd/nand/Config.in to avoid wasting the time of
> users and automated build processes alike that just want to build
> all available modules by default. (At the moment, this code is
> not even bracketed by CONFIG_EXPERIMENTAL, although changing that
> would not be a sufficient fix.)
>
David has fixed this and it is in the MTD CVS now.
> Alternatively, if you will send me a one line description
> of each of those four #define parameters, I will be happy to do the grunt
> work of submiting a patch to you or whoever is appropriate to replace
> those values with module and setup parameters that default to those
> values if there are #defined and otherwise will abort initialization
> if they are not #defined and no values were provided at run time.
> (Or, better, yet, you can do this work!)
>
I have filled in the #define values and placed the new 'spia.c' into
the MTD CVS. I added comments for how those various values should be
defined. Shame on me for forgetting to comment those months ago. Sorry.
I believe that fixes things now?
-Steve
--
Steven J. Hill - Embedded SW Engineer
Alan Cox wrote:
>
> > The way that I architected the raw NAND flash device driver was to
> > break it into 2 parts. 'nand.c' contains the actual driver code and
> > is considered to be device independent. 'spia.c' is the device
> > dependent part. You should write your own version of 'spia.c' and
>
> So the Config.in is wrong since I can select spia on x86
>
Indeed. That should be fixed now with this patch. Now onto the stuff
for ESR.
-Steve
--
Steven J. Hill - Embedded SW Engineer