* sis96x compiled in by error: delay of one minute at boot
@ 2006-03-13 10:27 Etienne Lorrain
2006-03-13 11:46 ` Jean Delvare
0 siblings, 1 reply; 20+ messages in thread
From: Etienne Lorrain @ 2006-03-13 10:27 UTC (permalink / raw)
To: linux-kernel; +Cc: sensors
Hello,
I just forgot to remove CONFIG_I2C_SIS96X=y in my kernel (minimum support
possible for my PC hardware based on VIA, no module at all) and get a one
minute delay at boot when trying to probe this non existing device in
2.6.16-rc5.
Maybe the abscence test should be quicker.
Cheers,
Etienne.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-13 10:27 sis96x compiled in by error: delay of one minute at boot Etienne Lorrain
@ 2006-03-13 11:46 ` Jean Delvare
2006-03-13 22:38 ` Etienne Lorrain
0 siblings, 1 reply; 20+ messages in thread
From: Jean Delvare @ 2006-03-13 11:46 UTC (permalink / raw)
To: linux-kernel; +Cc: Etienne Lorrain
Hi Etienne,
On 2006-03-13, Etienne Lorrain wrote:
> I just forgot to remove CONFIG_I2C_SIS96X=y in my kernel (minimum
> support possible for my PC hardware based on VIA, no module at all)
> and get a one minute delay at boot when trying to probe this non
> existing device in 2.6.16-rc5.
> Maybe the abscence test should be quicker.
The SIS96x SMBus is a PCI chip, so if it doesn't exist in a given
system, no code at all should be executed. So I have a hard time
believing it takes one minute. How do you know for sure that _this_
driver causing the delay? Did you actually try to rebuild without
CONFIG_I2C_SIS96X?
P.S.: The sensors list you tried to write to no more exists at this
address, see http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
instead.
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-13 11:46 ` Jean Delvare
@ 2006-03-13 22:38 ` Etienne Lorrain
2006-03-14 9:43 ` Jean Delvare
0 siblings, 1 reply; 20+ messages in thread
From: Etienne Lorrain @ 2006-03-13 22:38 UTC (permalink / raw)
To: Jean Delvare, linux-kernel
Hi Jean Delvare,
--- Jean Delvare <khali@linux-fr.org> wrote:
> On 2006-03-13, Etienne Lorrain wrote:
> > I just forgot to remove CONFIG_I2C_SIS96X=y in my kernel (minimum
> > support possible for my PC hardware based on VIA, no module at all)
> > and get a one minute delay at boot when trying to probe this non
> > existing device in 2.6.16-rc5.
> > Maybe the abscence test should be quicker.
>
> The SIS96x SMBus is a PCI chip, so if it doesn't exist in a given
> system, no code at all should be executed. So I have a hard time
> believing it takes one minute. How do you know for sure that _this_
> driver causing the delay? Did you actually try to rebuild without
> CONFIG_I2C_SIS96X?
Sorry, I was just assuming that while probing I2C hardware one per one, if one line
is diplayed for each driver I do not have - then the kernel will at least display
one line if it found something.
I have this lspci:
etienne@ubuntu:~/linux/linux-2.6.16-rc5-gujin$ lspci
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge
(rev 80)
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
0000:00:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 80)
0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 80)
0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
(rev 80)
0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C
PIPC Bus Master IDE (rev 06)
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97
Audio Controller (rev 50)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV200 QW [Radeon
7500]
And the fault on an ubuntu 5.10 system when using linux-2.6.16-rc5 is:
Mar 10 19:39:12 ubuntu kernel: [ 40.522970] PCI: Via IRQ fixup for 0000:00:10.2, from 9
to 5
Mar 10 19:39:12 ubuntu kernel: [ 40.525792] uhci_hcd 0000:00:10.2: UHCI Host Controller
Mar 10 19:39:12 ubuntu kernel: [ 40.528663] uhci_hcd 0000:00:10.2: new USB bus
registered, assigned bus number 4
Mar 10 19:39:12 ubuntu kernel: [ 40.531529] uhci_hcd 0000:00:10.2: irq 21, io base
0x0000ec00
Mar 10 19:39:12 ubuntu kernel: [ 40.534489] usb usb4: configuration #1 chosen from 1
choice
Mar 10 19:39:12 ubuntu kernel: [ 40.537419] hub 4-0:1.0: USB hub found
Mar 10 19:39:12 ubuntu kernel: [ 40.540284] hub 4-0:1.0: 2 ports detected
Mar 10 19:39:12 ubuntu kernel: [ 40.646920] sl811: driver sl811-hcd, 19 May 2005
Mar 10 19:39:12 ubuntu kernel: [ 40.886717] usb 2-1: new full speed USB device using
uhci_hcd and address 2
Mar 10 19:39:12 ubuntu kernel: [ 41.040225] usb 2-1: configuration #1 chosen from 1
choice
Mar 10 19:39:12 ubuntu kernel: [ 41.045260] hub 2-1:1.0: USB hub found
Mar 10 19:39:12 ubuntu kernel: [ 41.050218] hub 2-1:1.0: 3 ports detected
Mar 10 19:39:12 ubuntu kernel: [ 41.398463] usb 2-2: new low speed USB device using
uhci_hcd and address 3
Mar 10 19:39:12 ubuntu kernel: [ 41.605819] usb 2-2: configuration #1 chosen from 1
choice
Mar 10 19:39:12 ubuntu kernel: [ 42.129448] usbcore: registered new driver usblp
Mar 10 19:39:12 ubuntu kernel: [ 42.132207] drivers/usb/class/usblp.c: v0.13: USB
Printer Device Class driver
Mar 10 19:39:12 ubuntu kernel: [ 42.134959] Initializing USB Mass Storage driver...
Mar 10 19:39:12 ubuntu kernel: [ 42.137734] usbcore: registered new driver usb-storage
Mar 10 19:39:12 ubuntu kernel: [ 42.140486] USB Mass Storage support registered.
Mar 10 19:39:12 ubuntu kernel: [ 42.143247] usbcore: registered new driver libusual
Mar 10 19:39:12 ubuntu kernel: [ 42.145980] usbcore: registered new driver hiddev
Mar 10 19:39:12 ubuntu kernel: [ 42.196484] input: HID 1241:1111 as /class/input/input0
Mar 10 19:39:12 ubuntu kernel: [ 42.199159] input: USB HID v1.10 Mouse [HID 1241:1111]
on usb-0000:00:10.0-2
Mar 10 19:39:12 ubuntu kernel: [ 42.201870] usbcore: registered new driver usbhid
Mar 10 19:39:12 ubuntu kernel: [ 42.204535] drivers/usb/input/hid-core.c: v2.6:USB HID
core driver
Mar 10 19:39:12 ubuntu kernel: [ 42.207244] usbcore: registered new driver microtekX6
Mar 10 19:39:12 ubuntu kernel: [ 42.209986] mice: PS/2 mouse device common for all mice
Mar 10 19:39:12 ubuntu kernel: [ 42.258776] input: AT Translated Set 2 keyboard as
/class/input/input1
Mar 10 19:39:12 ubuntu kernel: [ 42.261682] input: PC Speaker as /class/input/input2
Mar 10 19:39:12 ubuntu kernel: [ 42.264394] i2c /dev entries driver
Mar 10 19:39:12 ubuntu kernel: [ 42.267552] i2c-parport: using default base 0x378
Mar 10 19:39:12 ubuntu kernel: [ 42.270260] i2c-pca-isa: i/o base 0x000330. irq 10
Mar 10 19:39:12 ubuntu kernel: [ 42.273590] i2c-sis96x version 1.0.0
Mar 10 19:39:12 ubuntu kernel: [ 119.507926] : Detection failed at step 3
Mar 10 19:39:12 ubuntu kernel: [ 119.755830] hdaps: supported laptop not found!
Mar 10 19:39:12 ubuntu kernel: [ 119.758363] hdaps: driver init failed (ret=-6)!
Mar 10 19:39:12 ubuntu kernel: [ 119.775788] md: linear personality registered for level
-1
Mar 10 19:39:12 ubuntu kernel: [ 119.778344] md: raid0 personality registered for level
0
So I did the long way of disabling each I2C driver one per one, the last is the one,
as usual:
[*] ALI1535
[*] ALI1563
[*] ALI15x3
[*] AMD 756/766/768/8111 and nVidia nForce
[*] SMBus multiplexing on the Tyan S4882
[*] AMD 8111
[*] Intel 82801 (ICH)
[*] Intel 810/815
[*] Intel PIIX4
[*] Nvidia nForce2, nForce3 and nForce4
[*] Parallel port adapter (light)
[*] S3/VIA (Pro)Savage
[*] S3 Savage 4
[*] NatSemi SCx200 ACCESS.bus
[*] SiS 5595
[*] SiS 630/730
[ ] SiS 96x
[ ] VIA 82C586B
[ ] VIA 82C596/82C686/823x
[ ] Voodoo 3
[ ] PCA9564 on an ISA bus
Removing the last PCA9564 gives me:
Mar 13 21:46:48 ubuntu kernel: [ 47.699704] input: AT Translated Set 2 keyboard as
/class/input/input1
Mar 13 21:46:48 ubuntu kernel: [ 47.702667] input: PC Speaker as /class/input/input2
Mar 13 21:46:48 ubuntu kernel: [ 47.705445] i2c /dev entries driver
Mar 13 21:46:48 ubuntu kernel: [ 47.708637] i2c-parport: using default base 0x378
Mar 13 21:46:48 ubuntu kernel: [ 70.366096] hdaps: supported laptop not found!
Mar 13 21:46:48 ubuntu kernel: [ 70.368750] hdaps: driver init failed (ret=-6)!
Which is a strong improvement. Note that I do not have an ISA bus on this machine...
Following a bit:
removing "Dallas Semiconductor DS1337 and DS1339 Real Time Clock" does nothing
removing "EEPROM reader" changes to:
Mar 13 22:12:54 ubuntu kernel: [ 45.365457] input: PC Speaker as /class/input/input2
Mar 13 22:12:54 ubuntu kernel: [ 45.368197] i2c /dev entries driver
Mar 13 22:12:54 ubuntu kernel: [ 61.957048] rtc8564: cant init ctrl1
Mar 13 22:12:54 ubuntu kernel: [ 61.997032] : Detection failed at step 3
Mar 13 22:12:54 ubuntu kernel: [ 62.132994] hdaps: supported laptop not found!
Mar 13 22:12:54 ubuntu kernel: [ 62.135578] hdaps: driver init failed (ret=-6)!
Removing "Philips PCF8574 and PCF8574A" and "Philips PCF8591" (and "Epson 8564 RTC chip"
because of the previous error message) so no more anything in "Miscellaneous I2C Chip
support" and just the "VIA 82C586B" in "I2C Hardware Bus support", I get:
Mar 13 22:21:42 ubuntu kernel: [ 72.252791] input: PC Speaker as /class/input/input2
Mar 13 22:21:42 ubuntu kernel: [ 72.255555] i2c /dev entries driver
Mar 13 22:21:42 ubuntu kernel: [ 72.258868] hdaps: supported laptop not found!
Mar 13 22:21:42 ubuntu kernel: [ 72.261560] hdaps: driver init failed (ret=-6)!
Adding (embedded centric) drivers for (embedded centric) company which respect
international copyright regulations (and so the GPL) is OK; but not if that delays
so much booting...
Etienne.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-13 22:38 ` Etienne Lorrain
@ 2006-03-14 9:43 ` Jean Delvare
2006-03-15 3:46 ` Mark M. Hoffman
2006-03-15 23:03 ` [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot) Jan Engelhardt
0 siblings, 2 replies; 20+ messages in thread
From: Jean Delvare @ 2006-03-14 9:43 UTC (permalink / raw)
To: linux-kernel; +Cc: Etienne Lorrain, Mark M. Hoffman
Hi Etienne,
On 2006-03-13, Etienne Lorrain wrote:
> > > I just forgot to remove CONFIG_I2C_SIS96X=y in my kernel (minimum
> > > support possible for my PC hardware based on VIA, no module at all)
> > > and get a one minute delay at boot when trying to probe this non
> > > existing device in 2.6.16-rc5.
> > > Maybe the abscence test should be quicker.
> >
> > The SIS96x SMBus is a PCI chip, so if it doesn't exist in a given
> > system, no code at all should be executed. So I have a hard time
> > believing it takes one minute. How do you know for sure that _this_
> > driver causing the delay? Did you actually try to rebuild without
> > CONFIG_I2C_SIS96X?
>
> Sorry, I was just assuming that while probing I2C hardware one per one,
> if one line is diplayed for each driver I do not have - then the kernel
> will at least display one line if it found something.
This is the way it should work, but unfortunately our i2c bus drivers
don't follow these rules. Almost all of them keep quiet when loaded
(except for i2c-sis96x, as you found out by yourself) but they also keep
quiet (unless debug is enabled) when a supported device is found, which
is not so good.
Mark, can you provide a patch to your i2c-sis96x driver so that it'll
keep quiet when no supported device is found?
We should probably have these drivers display something when they find a
supported chip. There are many drivers affected though (we have 41 real
i2c bus drivers by now) and many of them would need to be fixed, it
represents much more work if we want to do it properly. If anyone wants
to take his/her chance...
> I have this lspci:
> (...)
> 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
> (...)
> 0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
Off-topic, but it's quite strange. Your south bridge cannot be a VT8237R
and a VT8235 at the same time...
> And the fault on an ubuntu 5.10 system when using linux-2.6.16-rc5 is:
> (...)
> Mar 10 19:39:12 ubuntu kernel: [ 42.264394] i2c /dev entries driver
> Mar 10 19:39:12 ubuntu kernel: [ 42.267552] i2c-parport: using default
> base 0x378
> Mar 10 19:39:12 ubuntu kernel: [ 42.270260] i2c-pca-isa: i/o base
> 0x000330. irq 10
> Mar 10 19:39:12 ubuntu kernel: [ 42.273590] i2c-sis96x version 1.0.0
> Mar 10 19:39:12 ubuntu kernel: [ 119.507926] : Detection failed at step 3
This message is from the w83792d driver. This is a debug message, it
shouldn't be displayed here; the driver needs to be fixed.
> Mar 10 19:39:12 ubuntu kernel: [ 119.755830] hdaps: supported laptop not
> found!
> Mar 10 19:39:12 ubuntu kernel: [ 119.758363] hdaps: driver init failed
> (ret=-6)!
> So I did the long way of disabling each I2C driver one per one, the last
> is the one, as usual:
> [*] ALI1535
> [*] ALI1563
> [*] ALI15x3
> [*] AMD 756/766/768/8111 and nVidia nForce
> [*] SMBus multiplexing on the Tyan S4882
> [*] AMD 8111
> [*] Intel 82801 (ICH)
> [*] Intel 810/815
> [*] Intel PIIX4
> [*] Nvidia nForce2, nForce3 and nForce4
> [*] Parallel port adapter (light)
> [*] S3/VIA (Pro)Savage
> [*] S3 Savage 4
> [*] NatSemi SCx200 ACCESS.bus
> [*] SiS 5595
> [*] SiS 630/730
> [ ] SiS 96x
> [ ] VIA 82C586B
> [ ] VIA 82C596/82C686/823x
> [ ] Voodoo 3
> [ ] PCA9564 on an ISA bus
>
> Removing the last PCA9564 gives me:
> Mar 13 21:46:48 ubuntu kernel: [ 47.699704] input: AT Translated Set 2
> keyboard as /class/input/input1
> Mar 13 21:46:48 ubuntu kernel: [ 47.702667] input: PC Speaker
> as /class/input/input2
> Mar 13 21:46:48 ubuntu kernel: [ 47.705445] i2c /dev entries driver
> Mar 13 21:46:48 ubuntu kernel: [ 47.708637] i2c-parport: using default
> base 0x378
> Mar 13 21:46:48 ubuntu kernel: [ 70.366096] hdaps: supported laptop not
> found!
> Mar 13 21:46:48 ubuntu kernel: [ 70.368750] hdaps: driver init failed
> (ret=-6)!
You should also drop "Parallel port adapter (light)", it might cause
the same kind of delays and probably explains (part of) the 23 second
delay remaining.
> Which is a strong improvement. Note that I do not have an ISA bus on
> this machine...
I bet you do. You certainly don't have an ISA *slot*, but you must have
an ISA bus. Legacy devices (PS/2 keyboard and mouse, serial and parallel
ports...) and super-I/O (LPC) chips still use it.
> Following a bit:
> removing "Dallas Semiconductor DS1337 and DS1339 Real Time Clock" does
> nothing removing "EEPROM reader" changes to:
> Mar 13 22:12:54 ubuntu kernel: [ 45.365457] input: PC Speaker
> as /class/input/input2
> Mar 13 22:12:54 ubuntu kernel: [ 45.368197] i2c /dev entries driver
> Mar 13 22:12:54 ubuntu kernel: [ 61.957048] rtc8564: cant init ctrl1
> Mar 13 22:12:54 ubuntu kernel: [ 61.997032] : Detection failed at step 3
> Mar 13 22:12:54 ubuntu kernel: [ 62.132994] hdaps: supported laptop not
> found!
> Mar 13 22:12:54 ubuntu kernel: [ 62.135578] hdaps: driver init failed
> (ret=-6)!
>
> Removing "Philips PCF8574 and PCF8574A" and "Philips PCF8591" (and "Epson
> 8564 RTC chip" because of the previous error message) so no more anything
> in "Miscellaneous I2C Chip support" and just the "VIA 82C586B" in "I2C
> Hardware Bus support", I get:
>
> Mar 13 22:21:42 ubuntu kernel: [ 72.252791] input: PC Speaker
> as /class/input/input2
> Mar 13 22:21:42 ubuntu kernel: [ 72.255555] i2c /dev entries driver
> Mar 13 22:21:42 ubuntu kernel: [ 72.258868] hdaps: supported laptop
> not found!
> Mar 13 22:21:42 ubuntu kernel: [ 72.261560] hdaps: driver init failed
> (ret=-6)!
>
> Adding (embedded centric) drivers for (embedded centric) company which
> respect international copyright regulations (and so the GPL) is OK; but
> not if that delays so much booting...
You should continue your hunting session in Device drivers > Hardware
Monitoring support. Many of these drivers are for i2c chips, which are
sometimes hard to detect, so we do a lot of probes at load time. I guess
that you have them all built into your kernel, which is bad idea. You
really should only include the ones your embedded systems have a chance
to ever include. Your big boot delay is most certainly caused by these
in combination of the i2c-parport-light bus driver.
When loading an i2c chip driver, the driver will scan all available i2c
busses, and on each bus it'll probe all addresses where the chip could
be. If you have some stuck i2c bus (which happens when using drivers
like i2c-parport-light or i2c-pca-isa when you don't have the
hardware), the probing on these i2c busses will be *very* slow (you have
to wait for the timeout on every transaction). So if you include each
and every hardware monitoring driver into your kernel, many of which are
i2c chip drivers, you end up with lots of probes done at boot time and
this takes a lot of time.
So, if modules are not an option, you really should discard all hardware
monitoring drivers you know you won't need (the sensors-detect script
can tell you which drivers you need).
That being said, the key problem being stuck i2c busses, it's even more
important to get rid of these. You can use "i2cdetect -l" to list all
detected i2c bus, so you'll see if you have any unwanted bus left. If
you do, you'll have to find out where the drivers hide in the
configuration menu, and unselect them.
Hope that helps,
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-14 9:43 ` Jean Delvare
@ 2006-03-15 3:46 ` Mark M. Hoffman
2006-03-15 9:01 ` Jean Delvare
2006-03-15 23:03 ` [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot) Jan Engelhardt
1 sibling, 1 reply; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-15 3:46 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-kernel, Etienne Lorrain
Hi Jean, Etienne:
<snip>
> On 2006-03-13, Etienne Lorrain wrote:
> > Sorry, I was just assuming that while probing I2C hardware one per one,
> > if one line is diplayed for each driver I do not have - then the kernel
> > will at least display one line if it found something.
* Jean Delvare <khali@linux-fr.org> [2006-03-14 10:43:54 +0100]:
> This is the way it should work, but unfortunately our i2c bus drivers
> don't follow these rules. Almost all of them keep quiet when loaded
> (except for i2c-sis96x, as you found out by yourself) but they also keep
> quiet (unless debug is enabled) when a supported device is found, which
> is not so good.
>
> Mark, can you provide a patch to your i2c-sis96x driver so that it'll
> keep quiet when no supported device is found?
Lots of drivers printk messages when they load - IMO it's useful info.
E.g. how else could Etienne discover that he accidentally built a kernel
with dozens of i2c bus drivers (and probably all of the hwmon drivers)
built-in by accident?
(But, I'll send the trivial patch to lm-sensors list if you still want it.)
<snip>
> > Removing the last PCA9564 gives me:
> > Mar 13 21:46:48 ubuntu kernel: [ 47.699704] input: AT Translated Set 2
> > keyboard as /class/input/input1
> > Mar 13 21:46:48 ubuntu kernel: [ 47.702667] input: PC Speaker
> > as /class/input/input2
> > Mar 13 21:46:48 ubuntu kernel: [ 47.705445] i2c /dev entries driver
> > Mar 13 21:46:48 ubuntu kernel: [ 47.708637] i2c-parport: using default
> > base 0x378
> > Mar 13 21:46:48 ubuntu kernel: [ 70.366096] hdaps: supported laptop not
> > found!
> > Mar 13 21:46:48 ubuntu kernel: [ 70.368750] hdaps: driver init failed
> > (ret=-6)!
>
> You should also drop "Parallel port adapter (light)", it might cause
> the same kind of delays and probably explains (part of) the 23 second
> delay remaining.
<snip>
Wow, that's a huge delay. One alternative would be for i2c slaves to behave
more like USB and do the probing asynchronous to driver load; i.e. 'modprobe
w83627hf' returns before the chip is actually recognized and attached.
OTOH, that brings up all the related problems. E.g., you could no longer
expect this simple fragment of a RC script to work...
modprobe i2c-sis96x
modprobe asb100
sensors -s
Short of fixing all that... one has to accept that (1) i2c bus probing is
slow, and (2) some i2c busses themselves are not reliably detectable...
...thus (3) it's a bad idea to build all of that into your monolithic kernel.
As Jean suggests, either use modules or build only the drivers for hardware
you actually have.
Regards,
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-15 3:46 ` Mark M. Hoffman
@ 2006-03-15 9:01 ` Jean Delvare
2006-03-16 3:59 ` Mark M. Hoffman
0 siblings, 1 reply; 20+ messages in thread
From: Jean Delvare @ 2006-03-15 9:01 UTC (permalink / raw)
To: linux-kernel; +Cc: Mark M. Hoffman, Etienne Lorrain
Hi Mark,
On 2006-03-15, Mark M. Hoffman wrote:
> Lots of drivers printk messages when they load - IMO it's useful info.
> E.g. how else could Etienne discover that he accidentally built a kernel
> with dozens of i2c bus drivers (and probably all of the hwmon drivers)
> built-in by accident?
The size of the kernel would be a good hint to start with, the boot time
would complement that, and a quick look at .config is the definitive
answer. What the i2c-sis96x driver message did here is cause Etienne to
accuse this driver for the boot delay he was observing, while other
drivers are in fact responsible for it, so it did not help at all.
If all drivers were actually printking messages when they load,
monolithic kernels would be a mess (not that I much understand the point
of such monolithic kernels, but...) You wouldn't be able to tell from
the boot log which drivers are actually used by the system, and which
aren't.
> Wow, that's a huge delay. One alternative would be for i2c slaves to
> behave more like USB and do the probing asynchronous to driver load;
> i.e. 'modprobe w83627hf' returns before the chip is actually recognized
> and attached.
You mean that the i2c subsystem would finally be rewritten from scratch
to comply with the driver model? I'm waiting for your patches :)
> OTOH, that brings up all the related problems. E.g., you could no longer
> expect this simple fragment of a RC script to work...
>
> modprobe i2c-sis96x
> modprobe asb100
> sensors -s
I guess we would have to use hotplug instead then.
> Short of fixing all that... one has to accept that (1) i2c bus probing
> is slow, and (2) some i2c busses themselves are not reliably
> detectable...
Things can be improved still. The busses which cannot be reliably
detected could test themselves, and discard themselves if they find they
don't work. This is much the spirit of the bit_test parameter of the
i2c-algo-bit module; it could be made the default. i2c-algo-pca could be
added a similar option.
Also, the i2c subsystem is currently relying on general probing for
almost everything. Whenever you load an i2c chip driver, it'll probe
all the i2c busses for supported chips. We tried to limit the probing
area by introducing the concept of "classes", and we now only probe
the busses which share a class with the i2c chip driver. Not all drivers
have been modified to take benefit of that class check though, and the
i2c core doesn't enforce it at the moment; it is all based on drivers
cooperation. So there is room for improvement here.
Last, sometimes you know exactly where the chip is, yet the i2c core
doesn't offer a way to skip the probing step and attach the driver
directly to the device. I'm working on a way to do that, and hope to
have something ready to show soon. This should speed up the driver load
quite a bit.
Thanks,
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot)
2006-03-14 9:43 ` Jean Delvare
2006-03-15 3:46 ` Mark M. Hoffman
@ 2006-03-15 23:03 ` Jan Engelhardt
2006-03-16 8:22 ` Jean Delvare
1 sibling, 1 reply; 20+ messages in thread
From: Jan Engelhardt @ 2006-03-15 23:03 UTC (permalink / raw)
To: Jean Delvare; +Cc: Linux Kernel Mailing List, Etienne Lorrain, Mark M. Hoffman
>
>> I have this lspci:
>> (...)
>> 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
>> (...)
>> 0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
>
>Off-topic, but it's quite strange. Your south bridge cannot be a VT8237R
>and a VT8235 at the same time...
>
Where does it say that the southbridge is 35 and 37 at the same time? (The
only thing that's different between the two lspci lines is the vtABCD
number...)
Or it looks like there's another of these "strange" cases:
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo
MVP3/Pro133x AGP]
0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South]
(rev 23)
Jan Engelhardt
--
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-15 9:01 ` Jean Delvare
@ 2006-03-16 3:59 ` Mark M. Hoffman
2006-03-16 8:46 ` Jean Delvare
0 siblings, 1 reply; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-16 3:59 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-kernel, Etienne Lorrain, lm-sensors
Hi Jean:
(cc'ed lm-sensors ML)
[user reports waiting ~23 seconds for i2c/hwmon stuff to init in a
monolithic kernel build]
> On 2006-03-15, Mark M. Hoffman wrote:
> > Wow, that's a huge delay. One alternative would be for i2c slaves to
> > behave more like USB and do the probing asynchronous to driver load;
> > i.e. 'modprobe w83627hf' returns before the chip is actually recognized
> > and attached.
>
* Jean Delvare <khali@linux-fr.org> [2006-03-15 10:01:47 +0100]:
> You mean that the i2c subsystem would finally be rewritten from scratch
> to comply with the driver model? I'm waiting for your patches :)
Heh, 'spose I asked for that.
> > OTOH, that brings up all the related problems. E.g., you could no longer
> > expect this simple fragment of a RC script to work...
> >
> > modprobe i2c-sis96x
> > modprobe asb100
> > sensors -s
>
> I guess we would have to use hotplug instead then.
>
> > Short of fixing all that... one has to accept that (1) i2c bus probing
> > is slow, and (2) some i2c busses themselves are not reliably
> > detectable...
>
> Things can be improved still. The busses which cannot be reliably
> detected could test themselves, and discard themselves if they find they
> don't work. This is much the spirit of the bit_test parameter of the
> i2c-algo-bit module; it could be made the default. i2c-algo-pca could be
> added a similar option.
>
> Also, the i2c subsystem is currently relying on general probing for
> almost everything. Whenever you load an i2c chip driver, it'll probe
> all the i2c busses for supported chips. We tried to limit the probing
> area by introducing the concept of "classes", and we now only probe
> the busses which share a class with the i2c chip driver. Not all drivers
> have been modified to take benefit of that class check though, and the
> i2c core doesn't enforce it at the moment; it is all based on drivers
> cooperation. So there is room for improvement here.
>
> Last, sometimes you know exactly where the chip is, yet the i2c core
> doesn't offer a way to skip the probing step and attach the driver
> directly to the device. I'm working on a way to do that, and hope to
> have something ready to show soon. This should speed up the driver load
> quite a bit.
Here's a start: why does i2c-parport[-light] have a default adapter type?
Loading it with the default could be considered an accident by definition.
It takes ~6 seconds to load all of kernel/drivers/hwmon/*.ko on a test box
here with i2c-parport-light present (but without any adapter hardware).
With this patch, that drops to ~1 second.
---
This patch forces the user to specify what type of adapter is present when
loading i2c-parport or i2c-parport-light. If none is specified, the driver
init simply fails - instead of assuming adapter type 0.
This alleviates the sometimes lengthy boot time delays which can be caused
by accidentally building one of these into a kernel along with several i2c
slave drivers that have lengthy probe routines (e.g. hwmon drivers).
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport-light.c
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport-light.c
@@ -121,9 +121,14 @@ static struct i2c_adapter parport_adapte
static int __init i2c_parport_init(void)
{
- if (type < 0 || type >= ARRAY_SIZE(adapter_parm)) {
+ if (type < 0) {
+ printk(KERN_WARNING "i2c-parport: adapter type unspecified\n");
+ return -ENODEV;
+ }
+
+ if (type >= ARRAY_SIZE(adapter_parm)) {
printk(KERN_WARNING "i2c-parport: invalid type (%d)\n", type);
- type = 0;
+ return -ENODEV;
}
if (base == 0) {
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport.h
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport.h
@@ -90,7 +90,7 @@ static struct adapter_parm adapter_parm[
},
};
-static int type;
+static int type = -1;
module_param(type, int, 0);
MODULE_PARM_DESC(type,
"Type of adapter:\n"
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport.c
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport.c
@@ -241,9 +241,14 @@ static struct parport_driver i2c_parport
static int __init i2c_parport_init(void)
{
- if (type < 0 || type >= ARRAY_SIZE(adapter_parm)) {
+ if (type < 0) {
+ printk(KERN_WARNING "i2c-parport: adapter type unspecified\n");
+ return -ENODEV;
+ }
+
+ if (type >= ARRAY_SIZE(adapter_parm)) {
printk(KERN_WARNING "i2c-parport: invalid type (%d)\n", type);
- type = 0;
+ return -ENODEV;
}
return parport_register_driver(&i2c_parport_driver);
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot)
2006-03-15 23:03 ` [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot) Jan Engelhardt
@ 2006-03-16 8:22 ` Jean Delvare
0 siblings, 0 replies; 20+ messages in thread
From: Jean Delvare @ 2006-03-16 8:22 UTC (permalink / raw)
To: linux-kernel; +Cc: Jan Engelhardt, Etienne Lorrain, Mark M. Hoffman
Hi Jan,
On 2006-03-15, Jan Engelhardt wrote:
> > > I have this lspci:
> > > (...)
> > > 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
> > > (...)
> > > 0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
> >
> > Off-topic, but it's quite strange. Your south bridge cannot be a
> > VT8237R and a VT8235 at the same time...
>
> Where does it say that the southbridge is 35 and 37 at the same time?
> (The only thing that's different between the two lspci lines is the
> vtABCD number...)
"The only thing that's different is the thing you said was different."
:)
It looked strange to me because I have two systems with a VT8237R and on
both, lspci says "VT8237" for both the PCI and the ISA bridges. So the
result provided by Etienne suggests that a different (supposedly
earlier) version of the VT8237R has a different ISA bridge sub-device
embedded.
Not that it really matters, anyway, so I probably shouldn't have
commented on it in the first place.
> Or it looks like there's another of these "strange" cases:
>
> 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo
> MVP3/Pro133x AGP]
> 0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South]
> (rev 23)
There are many of these, indeed. South bridges include several
sub-devices, and it is very frequent that chip manufacturers do not
upgrade all these sub-devices when they release a new version of their
chip.
My original comment was really related to the specific case of the
VT8237R, not general.
Thanks,
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-16 3:59 ` Mark M. Hoffman
@ 2006-03-16 8:46 ` Jean Delvare
2006-03-16 10:53 ` Etienne Lorrain
2006-03-17 3:56 ` [lm-sensors] sis96x compiled in by error: delay of one minute at boot Mark M. Hoffman
0 siblings, 2 replies; 20+ messages in thread
From: Jean Delvare @ 2006-03-16 8:46 UTC (permalink / raw)
To: linux-kernel; +Cc: Mark M. Hoffman, Etienne Lorrain, lm-sensors
Hi Mark,
On 2006-03-16, Mark M. Hoffman wrote:
> Here's a start: why does i2c-parport[-light] have a default adapter
> type?
I think I made it look as closely as possible like the old
i2c-philips-par driver, which is was replacing, so that users could
switch with the least effort.
> Loading it with the default could be considered an accident by
> definition. It takes ~6 seconds to load all of
> kernel/drivers/hwmon/*.ko on a test box here with i2c-parport-light
> present (but without any adapter hardware). With this patch, that
> drops to ~1 second.
Note that the same result could be achieved by using
i2c_algo_bit.bit_test=1, which is why I was suggesting to make it the
default. Doing so would also help the radeonfb driver users: this one
creates up to 4 i2c busses and at least one does not work for me (I
guess it depends on how the chip was wired on the graphics adapter),
causing significant delays on when loading i2c chip drivers afterwards.
I wonder if i2c_algo_bit.bit_test=1 can cause problems. Why wasn't it
made the default in the first place?
> This patch forces the user to specify what type of adapter is present
> when loading i2c-parport or i2c-parport-light. If none is specified,
> the driver init simply fails - instead of assuming adapter type 0.
>
> This alleviates the sometimes lengthy boot time delays which can be
> caused by accidentally building one of these into a kernel along with
> several i2c slave drivers that have lengthy probe routines (e.g. hwmon
> drivers).
This makes sense, no adapter type is more likely to be found than the
others. So I like the patch and am willing to accept it. However, given
that it changes the default behavior, and makes the "type" module
parameter mandatory, a short notice in the documentation and/or Kconfig
would be welcome, don't you think?
Thanks,
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: sis96x compiled in by error: delay of one minute at boot
2006-03-16 8:46 ` Jean Delvare
@ 2006-03-16 10:53 ` Etienne Lorrain
2006-03-17 4:20 ` [lm-sensors] " Mark M. Hoffman
2006-03-17 3:56 ` [lm-sensors] sis96x compiled in by error: delay of one minute at boot Mark M. Hoffman
1 sibling, 1 reply; 20+ messages in thread
From: Etienne Lorrain @ 2006-03-16 10:53 UTC (permalink / raw)
To: linux-kernel; +Cc: Jean Delvare, Mark M. Hoffman, lm-sensors
>> Jean Delvare wrote:
>> Mark, can you provide a patch to your i2c-sis96x driver so that it'll
>> keep quiet when no supported device is found?
>
>Mark M. Hoffman wrote:
>Lots of drivers printk messages when they load - IMO it's useful info.
>E.g. how else could Etienne discover that he accidentally built a kernel
>with dozens of i2c bus drivers (and probably all of the hwmon drivers)
>built-in by accident?
I did not built with all hwmon drivers because I could determine what I
had on my mainboard. For me, because the kernel say it enters the I2C
system by the line:
Mar 13 21:46:48 kernel: [ 47.705445] i2c /dev entries driver
It could print a line when finished probing all those I2C drivers by a
line like:
Mar 13 21:46:48 kernel: [ 50.705445] i2c driver found: aaa-i2c, bbb-i2c.
And then I can have a clue on what to include in my monolitic build.
I do not care about such timeout on _one_ build, as long as I know what
to do for next build. Another possibility is to print a line when an I2C
detection has failed: you know that it has taken quite a lot of time and
it should not have been done in the first place (even for a module
because this module should not have been inserted).
It also protect the I2C group from people like me complainning
because completely unrelated messages like
Mar 13 22:12:54 kernel: [ 61.997032] : Detection failed at step 3
Elsewhere Jean Delvare wrote:
> That being said, the key problem being stuck i2c busses, it's even more
> important to get rid of these. You can use "i2cdetect -l" to list all
> detected i2c bus, so you'll see if you have any unwanted bus left.
I do not have this i2cdetect software installed on my system.
> If all drivers were actually printking messages when they load,
> monolithic kernels would be a mess (not that I much understand the
> point of such monolithic kernels, but...) You wouldn't be able to tell from
> the boot log which drivers are actually used by the system, and which
> aren't.
Maybe it is only me, and I am totally wrong, but it seems that the
resulting _monolitic_ kernel is quicker.
- Maybe it is quicker because a lot of modules try to insert themself
and fails as an autodetection subsystem in some distributions.
- Maybe because fetching a lot of files (kernel modules) at boot
time creates a lot of disk activity - and it is better to load everything
at startup by the bootloader (hint: Gujin).
- Maybe it is quicker because when loading a module there is a lot
of addresses to resolve at run time and that takes time, instead of
doing it once when you are linking the monolitic kernel.
- Maybe it is simply (correct me if I am wrong) because modules
_have_ to be compiled as a relocatable library (because the load
address of code and data segment isn't known) and that is acheived
by the compiler by fixing register %ebx to the base address - and
on i386 removing one of the 4 (or 6) general purpose register
produces code which is a lot slower (up to the point you do not care
for which processor you compile the kernel: the improvement done
by one or two added instruction/features do not compensate for this
kind of loss).
Maybe also managing the tree /lib/modules/* and the initrd take
more time than simply doing once a clean linux/.config and
maintaining this file by saying "No" to most added drivers...
Cheers,
Etienne.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [lm-sensors] sis96x compiled in by error: delay of one minute at boot
2006-03-16 8:46 ` Jean Delvare
2006-03-16 10:53 ` Etienne Lorrain
@ 2006-03-17 3:56 ` Mark M. Hoffman
2006-03-17 3:58 ` [PATCH 2.6.16-rc6] i2c: require type parameter for i2c-parport and i2c-parport-light Mark M. Hoffman
1 sibling, 1 reply; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-17 3:56 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-kernel, Etienne Lorrain, lm-sensors
Hi Jean:
> On 2006-03-16, Mark M. Hoffman wrote:
> > Loading it with the default could be considered an accident by
> > definition. It takes ~6 seconds to load all of
> > kernel/drivers/hwmon/*.ko on a test box here with i2c-parport-light
> > present (but without any adapter hardware). With this patch, that
> > drops to ~1 second.
* Jean Delvare <khali@linux-fr.org> [2006-03-16 09:46:51 +0100]:
> Note that the same result could be achieved by using
> i2c_algo_bit.bit_test=1, which is why I was suggesting to make it the
> default. Doing so would also help the radeonfb driver users: this one
> creates up to 4 i2c busses and at least one does not work for me (I
> guess it depends on how the chip was wired on the graphics adapter),
> causing significant delays on when loading i2c chip drivers afterwards.
>
> I wonder if i2c_algo_bit.bit_test=1 can cause problems. Why wasn't it
> made the default in the first place?
It doesn't look very reliable to me. E.g. if there happens to be bus
traffic during the bus test, it fails. If it gets past that, it gets
worse...
5. A START condition immediately followed by a STOP condition
(void message) is an illegal format.
- I2C Bus Specification, Version 2.1 (page 14)
Unless I read it wrong, that's exactly what the bus test will do.
> > This patch forces the user to specify what type of adapter is present
> > when loading i2c-parport or i2c-parport-light. If none is specified,
> > the driver init simply fails - instead of assuming adapter type 0.
> >
> > This alleviates the sometimes lengthy boot time delays which can be
> > caused by accidentally building one of these into a kernel along with
> > several i2c slave drivers that have lengthy probe routines (e.g. hwmon
> > drivers).
>
> This makes sense, no adapter type is more likely to be found than the
> others. So I like the patch and am willing to accept it. However, given
> that it changes the default behavior, and makes the "type" module
> parameter mandatory, a short notice in the documentation and/or Kconfig
> would be welcome, don't you think?
OK - patch to follow.
Regards,
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 2.6.16-rc6] i2c: require type parameter for i2c-parport and i2c-parport-light
2006-03-17 3:56 ` [lm-sensors] sis96x compiled in by error: delay of one minute at boot Mark M. Hoffman
@ 2006-03-17 3:58 ` Mark M. Hoffman
2006-03-22 12:32 ` Jean Delvare
0 siblings, 1 reply; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-17 3:58 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-kernel, Etienne Lorrain, lm-sensors
This patch forces the user to specify what type of adapter is present when
loading i2c-parport or i2c-parport-light. If none is specified, the driver
init simply fails - instead of assuming adapter type 0.
This alleviates the sometimes lengthy boot time delays which can be caused
by accidentally building one of these into a kernel along with several i2c
slave drivers that have lengthy probe routines (e.g. hwmon drivers).
Kconfig and documentation updated accordingly.
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport-light.c
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport-light.c
@@ -121,9 +121,14 @@ static struct i2c_adapter parport_adapte
static int __init i2c_parport_init(void)
{
- if (type < 0 || type >= ARRAY_SIZE(adapter_parm)) {
+ if (type < 0) {
+ printk(KERN_WARNING "i2c-parport: adapter type unspecified\n");
+ return -ENODEV;
+ }
+
+ if (type >= ARRAY_SIZE(adapter_parm)) {
printk(KERN_WARNING "i2c-parport: invalid type (%d)\n", type);
- type = 0;
+ return -ENODEV;
}
if (base == 0) {
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport.h
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport.h
@@ -90,7 +90,7 @@ static struct adapter_parm adapter_parm[
},
};
-static int type;
+static int type = -1;
module_param(type, int, 0);
MODULE_PARM_DESC(type,
"Type of adapter:\n"
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/i2c-parport.c
+++ linux-2.6.16-rc6/drivers/i2c/busses/i2c-parport.c
@@ -241,9 +241,14 @@ static struct parport_driver i2c_parport
static int __init i2c_parport_init(void)
{
- if (type < 0 || type >= ARRAY_SIZE(adapter_parm)) {
+ if (type < 0) {
+ printk(KERN_WARNING "i2c-parport: adapter type unspecified\n");
+ return -ENODEV;
+ }
+
+ if (type >= ARRAY_SIZE(adapter_parm)) {
printk(KERN_WARNING "i2c-parport: invalid type (%d)\n", type);
- type = 0;
+ return -ENODEV;
}
return parport_register_driver(&i2c_parport_driver);
--- linux-2.6.16-rc6.orig/drivers/i2c/busses/Kconfig
+++ linux-2.6.16-rc6/drivers/i2c/busses/Kconfig
@@ -284,7 +284,10 @@ config I2C_PARPORT
This driver is a replacement for (and was inspired by) an older
driver named i2c-philips-par. The new driver supports more devices,
and makes it easier to add support for new devices.
-
+
+ An adapter type parameter is now mandatory. Please read the file
+ Documentation/i2c/busses/i2c-parport for details.
+
Another driver exists, named i2c-parport-light, which doesn't depend
on the parport driver. This is meant for embedded systems. Don't say
Y here if you intend to say Y or M there.
--- linux-2.6.16-rc6.orig/Documentation/i2c/busses/i2c-parport
+++ linux-2.6.16-rc6/Documentation/i2c/busses/i2c-parport
@@ -12,18 +12,21 @@ meant as a replacement for the older, in
teletext adapters)
It currently supports the following devices:
- * Philips adapter
- * home brew teletext adapter
- * Velleman K8000 adapter
- * ELV adapter
- * Analog Devices evaluation boards (ADM1025, ADM1030, ADM1031, ADM1032)
- * Barco LPT->DVI (K5800236) adapter
+ * (type=0) Philips adapter
+ * (type=1) home brew teletext adapter
+ * (type=2) Velleman K8000 adapter
+ * (type=3) ELV adapter
+ * (type=4) Analog Devices ADM1032 evaluation board
+ * (type=5) Analog Devices evaluation boards: ADM1025, ADM103[01]
+ * (type=6) Barco LPT->DVI (K5800236) adapter
These devices use different pinout configurations, so you have to tell
the driver what you have, using the type module parameter. There is no
way to autodetect the devices. Support for different pinout configurations
can be easily added when needed.
+Earlier kernels defaulted to type=0 (Philips). But now, if the type
+parameter is missing, the driver will simply fail to initialize.
Building your own adapter
-------------------------
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [lm-sensors] sis96x compiled in by error: delay of one minute at boot
2006-03-16 10:53 ` Etienne Lorrain
@ 2006-03-17 4:20 ` Mark M. Hoffman
2006-03-20 23:00 ` Etienne Lorrain
0 siblings, 1 reply; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-17 4:20 UTC (permalink / raw)
To: Etienne Lorrain; +Cc: linux-kernel, lm-sensors
Hi Etienne:
> >Mark M. Hoffman wrote:
> >Lots of drivers printk messages when they load - IMO it's useful info.
> >E.g. how else could Etienne discover that he accidentally built a kernel
> >with dozens of i2c bus drivers (and probably all of the hwmon drivers)
> >built-in by accident?
* Etienne Lorrain <etienne_lorrain@yahoo.fr> [2006-03-16 11:53:32 +0100]:
> I did not built with all hwmon drivers because I could determine what I
> had on my mainboard.
Really? If you don't have all the hwmon drivers built in, then I'm not
sure how the i2c subsystem could take so long to init. Can we see the
entire kernel config please?
> For me, because the kernel say it enters the I2C
> system by the line:
> Mar 13 21:46:48 kernel: [ 47.705445] i2c /dev entries driver
That message comes from the (optional) Linux i2c ioctl interface. It is not
the whole core.
> It could print a line when finished probing all those I2C drivers by a
> line like:
> Mar 13 21:46:48 kernel: [ 50.705445] i2c driver found: aaa-i2c, bbb-i2c.
Actually, it can't do that. The i2c core doesn't know anything about
"done probing". It probes whenever a new master or slave driver is
registered, which could happen at any time.
> And then I can have a clue on what to include in my monolitic build.
> I do not care about such timeout on _one_ build, as long as I know what
> to do for next build. Another possibility is to print a line when an I2C
> detection has failed: you know that it has taken quite a lot of time and
> it should not have been done in the first place (even for a module
> because this module should not have been inserted).
Why don't you just use the sensors-detect script from the lm-sensors project
to see what hardware you have? If you don't have a kernel with all of the
i2c-bus drivers built as modules, you could probably just boot knoppix and
run the script from there.
> It also protect the I2C group from people like me complainning
> because completely unrelated messages like
> Mar 13 22:12:54 kernel: [ 61.997032] : Detection failed at step 3
That particular message is displayed by accident; it's a bug. Jean already
ack'ed that.
Regards,
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [lm-sensors] sis96x compiled in by error: delay of one minute at boot
2006-03-17 4:20 ` [lm-sensors] " Mark M. Hoffman
@ 2006-03-20 23:00 ` Etienne Lorrain
2006-03-29 3:45 ` I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot) Mark M. Hoffman
0 siblings, 1 reply; 20+ messages in thread
From: Etienne Lorrain @ 2006-03-20 23:00 UTC (permalink / raw)
To: Mark M. Hoffman; +Cc: linux-kernel, lm-sensors
[-- Attachment #1: Type: text/plain, Size: 5725 bytes --]
--- "Mark M. Hoffman" wrote:
> * Etienne Lorrain [2006-03-16 11:53:32 +0100]:
> > I did not built with all hwmon drivers because I could determine what I
> > had on my mainboard.
>
> Really? If you don't have all the hwmon drivers built in, then I'm not
> sure how the i2c subsystem could take so long to init. Can we see the
> entire kernel config please?
That is the real 2.6.16 with only CONFIG_I2C_VIAPRO=y (the only I2C module loaded
using Knoppix on my motherboard) (full .config attached):
Mar 20 22:12:34 ubuntu kernel: [ 102.107512] input: PC Speaker as /class/input/input2
Mar 20 22:12:34 ubuntu kernel: [ 102.110230] i2c /dev entries driver
Mar 20 22:12:34 ubuntu kernel: [ 102.151923] : Detection failed at step 3
Mar 20 22:12:34 ubuntu kernel: [ 102.287882] hdaps: supported laptop not found!
Mar 20 22:12:34 ubuntu kernel: [ 102.290460] hdaps: driver init failed (ret=-6)!
Mar 20 22:12:34 ubuntu kernel: [ 102.299862] md: linear personality registered for level
-1
etienne@ubuntu:~/linux/linux-2.6.16$ diff .config-initial .config
4c4
< # Mon Mar 20 21:36:32 2006
---
> # Mon Mar 20 22:03:44 2006
885c885
< # CONFIG_I2C_PCA_ISA is not set
---
> CONFIG_I2C_PCA_ISA=y
892c892
< # CONFIG_SENSORS_EEPROM is not set
---
> CONFIG_SENSORS_EEPROM=y
896c896
< # CONFIG_SENSORS_RTC8564 is not set
---
> CONFIG_SENSORS_RTC8564=y
etienne@ubuntu:~/linux/linux-2.6.16$
Leads to 21 seconds delay:
Mar 20 22:16:34 ubuntu kernel: [ 47.768105] drivers/usb/input/hid-core.c: v2.6:USB HID
core driver
Mar 20 22:16:34 ubuntu kernel: [ 47.770813] usbcore: registered new driver microtekX6
Mar 20 22:16:34 ubuntu kernel: [ 47.773540] mice: PS/2 mouse device common for all mice
Mar 20 22:16:34 ubuntu kernel: [ 47.822537] input: AT Translated Set 2 keyboard as
/class/input/input1
Mar 20 22:16:34 ubuntu kernel: [ 47.825434] input: PC Speaker as /class/input/input2
Mar 20 22:16:34 ubuntu kernel: [ 47.828153] i2c /dev entries driver
Mar 20 22:16:34 ubuntu kernel: [ 47.831032] i2c-pca-isa: i/o base 0x000330. irq 10
Mar 20 22:16:34 ubuntu kernel: [ 68.239670] : Detection failed at step 3
Mar 20 22:16:34 ubuntu kernel: [ 68.375633] hdaps: supported laptop not found!
Mar 20 22:16:34 ubuntu kernel: [ 68.378227] hdaps: driver init failed (ret=-6)!
Mar 20 22:16:34 ubuntu kernel: [ 68.387599] md: linear personality registered for level
-1
BTW, someone knows what are those messages just after startup:
Mar 20 22:12:34 ubuntu kernel: No module symbols loaded - kernel modules not enabled.
Mar 20 22:12:34 ubuntu kernel: >[ 93.075610] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.075649] test 4:
Mar 20 22:12:34 ubuntu kernel: [ 93.075692] 697eaf0aca3a3aea3a75164746ffaa79
Mar 20 22:12:34 ubuntu kernel: [ 93.076226] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.076266] test 5:
Mar 20 22:12:34 ubuntu kernel: [ 93.076309] 56461ef2342edc00f9bab995690efd4c
Mar 20 22:12:34 ubuntu kernel: [ 93.076857] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.076896] test 6:
Mar 20 22:12:34 ubuntu kernel: [ 93.076941] 6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd
Mar 20 22:12:34 ubuntu kernel: [ 93.077475] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.077514] test 7:
Mar 20 22:12:34 ubuntu kernel: [ 93.077559] 6f630fad67cda0ee1fb1f562db3aa53e
Mar 20 22:12:34 ubuntu kernel: [ 93.078093] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.078133]
Mar 20 22:12:34 ubuntu kernel: [ 93.078134] testing hmac_md5 across pages
Mar 20 22:12:34 ubuntu kernel: [ 93.078269] test 1:
Mar 20 22:12:34 ubuntu kernel: [ 93.078314] 750c783e6ab0b503eaa86e310a5db738
Mar 20 22:12:34 ubuntu kernel: [ 93.078848] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.078889]
Mar 20 22:12:34 ubuntu kernel: [ 93.078890] testing hmac_sha1
Mar 20 22:12:34 ubuntu kernel: [ 93.078973] test 1:
Mar 20 22:12:34 ubuntu kernel: [ 93.079020] b617318655057264e28bc0b6fb378c8ef146be00
Mar 20 22:12:34 ubuntu kernel: [ 93.079678] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.079717] test 2:
Mar 20 22:12:34 ubuntu kernel: [ 93.079762] effcdf6ae5eb2fa2d27416d5f184df9c259a7c79
Mar 20 22:12:34 ubuntu kernel: [ 93.080432] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.080472] test 3:
Mar 20 22:12:34 ubuntu kernel: [ 93.080517] 125d7342b9ac11cd91a39af48aa17b4f63f175d3
Mar 20 22:12:34 ubuntu kernel: [ 93.081175] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.081214] test 4:
Mar 20 22:12:34 ubuntu kernel: [ 93.081260] 4c9007f4026250c6bc8414f9bf50c86c2d7235da
Mar 20 22:12:34 ubuntu kernel: [ 93.081917] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.081957] test 5:
Mar 20 22:12:34 ubuntu kernel: [ 93.082649] 4c1a03424b55e07fe7f27be1d58bb9324a9a5a04
Mar 20 22:12:34 ubuntu kernel: [ 93.083307] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.083347] test 6:
Mar 20 22:12:34 ubuntu kernel: [ 93.083394] aa4ae5e15272d00e95705637ce8a3b55ed402112
Mar 20 22:12:34 ubuntu kernel: [ 93.084051] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.084090] test 7:
Mar 20 22:12:34 ubuntu kernel: [ 93.084138] e8e99d0f45237d786d6bbaa7965c7808bbff1a91
Mar 20 22:12:34 ubuntu kernel: [ 93.084808] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.084848]
Mar 20 22:12:34 ubuntu kernel: [ 93.084849] testing hmac_sha1 across pages
Mar 20 22:12:34 ubuntu kernel: [ 93.084936] test 1:
Mar 20 22:12:34 ubuntu kernel: [ 93.084981] effcdf6ae5eb2fa2d27416d5f184df9c259a7c79
Mar 20 22:12:34 ubuntu kernel: [ 93.085639] pass
Mar 20 22:12:34 ubuntu kernel: [ 93.085681]
Regards,
Etienne.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
[-- Attachment #2: 276185620-.config-initial --]
[-- Type: application/octet-stream, Size: 34511 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.16
# Mon Mar 20 21:36:32 2006
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_UID16=y
CONFIG_VM86=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_SLAB=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
#
# Loadable module support
#
# CONFIG_MODULES is not set
#
# Block layer
#
# CONFIG_LBD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_TSC=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
# CONFIG_REGPARM is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
CONFIG_DOUBLEFAULT=y
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=""
# CONFIG_SWSUSP_ENCRYPT is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_SLEEP_PROC_SLEEP=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_HOTKEY=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
CONFIG_APM_REAL_MODE_POWER_OFF=y
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY_PROC=y
# CONFIG_PCI_DEBUG is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=y
CONFIG_I82092=y
CONFIG_PCCARD_NONSTATIC=y
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set
#
# Protocols
#
CONFIG_PNPACPI=y
#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_INITRD=y
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECS=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_CS5535 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID5=y
CONFIG_MD_RAID6=y
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
# CONFIG_BLK_DEV_DM is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_NET_SB1000 is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# PHY device support
#
#
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=y
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=y
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_UINPUT is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_ACPI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
CONFIG_IPMI_HANDLER=y
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
CONFIG_AGP_ATI=y
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=y
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=y
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_MWAVE is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_ISA=y
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
CONFIG_I2C_VIAPRO=y
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
CONFIG_SENSORS_VIA686A=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83792D=y
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83627HF=y
CONFIG_SENSORS_W83627EHF=y
CONFIG_SENSORS_HDAPS=y
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
# CONFIG_IBM_ASM is not set
#
# Multimedia Capabilities Port drivers
#
#
# Multimedia devices
#
CONFIG_VIDEO_DEV=y
#
# Video For Linux
#
#
# Video Adapters
#
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_BT848 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_CX88 is not set
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_VIDEO_OVCAMCHIP is not set
# CONFIG_VIDEO_AUDIO_DECODER is not set
# CONFIG_VIDEO_DECODER is not set
#
# Radio Adapters
#
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
#
# Logo configuration
#
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#
CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=y
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
CONFIG_SND_MPU401_UART=y
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_AC97_BUS=y
CONFIG_SND_DUMMY=y
CONFIG_SND_VIRMIDI=y
CONFIG_SND_MTPAV=y
CONFIG_SND_SERIAL_U16550=y
CONFIG_SND_MPU401=y
#
# PCI devices
#
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
CONFIG_SND_VIA82XX=y
CONFIG_SND_VIA82XX_MODEM=y
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
#
# PCMCIA devices
#
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_CS=y
#
# USB Device Class drivers
#
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
# CONFIG_USB_STORAGE_ALAUDA is not set
CONFIG_USB_LIBUSUAL=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
CONFIG_USB_MICROTEK=y
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_ET61X251 is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_SN9C102 is not set
# CONFIG_USB_STV680 is not set
# CONFIG_USB_PWC is not set
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_MON is not set
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set
#
# USB DSL modem support
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
CONFIG_EDAC=y
#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=y
# CONFIG_EDAC_AMD76X is not set
# CONFIG_EDAC_E7XXX is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82875P is not set
# CONFIG_EDAC_I82860 is not set
# CONFIG_EDAC_R82600 is not set
CONFIG_EDAC_POLL=y
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
CONFIG_CONFIGFS_FS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
#
# Instrumentation Support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_FRAME_POINTER is not set
CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_EARLY_PRINTK is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
#
# Page alloc debug is incompatible with Software Suspend on i386
#
CONFIG_DEBUG_RODATA=y
# CONFIG_4KSTACKS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_CAPABILITIES=y
CONFIG_SECURITY_ROOTPLUG=y
CONFIG_SECURITY_SECLVL=y
#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_TEST=y
#
# Hardware crypto devices
#
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
#
# Library routines
#
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2.6.16-rc6] i2c: require type parameter for i2c-parport and i2c-parport-light
2006-03-17 3:58 ` [PATCH 2.6.16-rc6] i2c: require type parameter for i2c-parport and i2c-parport-light Mark M. Hoffman
@ 2006-03-22 12:32 ` Jean Delvare
0 siblings, 0 replies; 20+ messages in thread
From: Jean Delvare @ 2006-03-22 12:32 UTC (permalink / raw)
To: Mark M. Hoffman; +Cc: linux-kernel, lm-sensors, Etienne Lorrain
Hi Mark,
> This patch forces the user to specify what type of adapter is present when
> loading i2c-parport or i2c-parport-light. If none is specified, the driver
> init simply fails - instead of assuming adapter type 0.
>
> This alleviates the sometimes lengthy boot time delays which can be caused
> by accidentally building one of these into a kernel along with several i2c
> slave drivers that have lengthy probe routines (e.g. hwmon drivers).
>
> Kconfig and documentation updated accordingly.
Good patch, thanks, I've applied it. The only change I made is:
> + * (type=5) Analog Devices evaluation boards: ADM1025, ADM103[01]
I expanded it to "ADM1025, ADM1030, ADM1031", because I think it's
important to be able to just grep chip names in the documentation files
(or source code, for that matter.)
Thanks,
--
Jean Delvare
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot)
2006-03-20 23:00 ` Etienne Lorrain
@ 2006-03-29 3:45 ` Mark M. Hoffman
2006-03-29 9:26 ` Etienne Lorrain
2006-03-29 14:00 ` Ian Campbell
0 siblings, 2 replies; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-29 3:45 UTC (permalink / raw)
To: Etienne Lorrain; +Cc: linux-kernel, lm-sensors, Ian Campbell
Hi Etienne, Ian:
Etienne: sorry for the delay... I have't forgotten about you.
Recap for Ian: Etienne was suffering very long delays at boot time due
to some combination of I2C / hwmon drivers built-in (not modular) to
his kernel.
* Etienne Lorrain <etienne_lorrain@yahoo.fr> [2006-03-21 00:00:37 +0100]:
> --- "Mark M. Hoffman" wrote:
> > * Etienne Lorrain [2006-03-16 11:53:32 +0100]:
> > > I did not built with all hwmon drivers because I could determine what I
> > > had on my mainboard.
> >
> > Really? If you don't have all the hwmon drivers built in, then I'm not
> > sure how the i2c subsystem could take so long to init. Can we see the
> > entire kernel config please?
>
> That is the real 2.6.16 with only CONFIG_I2C_VIAPRO=y (the only I2C module loaded
> using Knoppix on my motherboard) (full .config attached):
OK: you didn't have all the hwmon/sensors drivers built in, just seven of
them. ;) This really is not a good idea. In an ideal world, these drivers
would notice that the hardware is not present and move on. But I2C/SMBus is
not like PCI. There is no single ID to read and test. This hardware is only
recognized based on heuristics. And the probing itself takes time: especially
if you have a very slow I2C bus. More on that later...
> 885c885
> < # CONFIG_I2C_PCA_ISA is not set
> ---
> > CONFIG_I2C_PCA_ISA=y
This alone is the cause of the delay. (I have confirmed it by running some
similar .configs here.) You almost certainly don't own this specialized
piece of hardware. Worse still, that particular driver has no code to detect
whether or not the hardware is present. I cc'ed the listed driver author
(Ian) just in case this might be corrected... but I guess there is no way
to fix it.
So the delay is (1) an I2C bus driver that is not actually present, trying to
probe for (2) seven different sensors chip drivers that certainly aren't present
on the nonexistent bus. Timeouts ensue.
So unless Ian knows a better way to detect that bus driver... the best I can
advise is to *not* build in those drivers for hardware that you do not have.
Regards,
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot)
2006-03-29 3:45 ` I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot) Mark M. Hoffman
@ 2006-03-29 9:26 ` Etienne Lorrain
2006-03-29 13:38 ` Mark M. Hoffman
2006-03-29 14:00 ` Ian Campbell
1 sibling, 1 reply; 20+ messages in thread
From: Etienne Lorrain @ 2006-03-29 9:26 UTC (permalink / raw)
To: Mark M. Hoffman; +Cc: linux-kernel, lm-sensors, Ian Campbell
--- "Mark M. Hoffman" <mhoffman@lightlink.com> wrote:
> > 885c885
> > < # CONFIG_I2C_PCA_ISA is not set
> > ---
> > > CONFIG_I2C_PCA_ISA=y
>
> This alone is the cause of the delay. (I have confirmed it by running some
> similar .configs here.) You almost certainly don't own this specialized
> piece of hardware. Worse still, that particular driver has no code to detect
> whether or not the hardware is present. I cc'ed the listed driver author
> (Ian) just in case this might be corrected... but I guess there is no way
> to fix it.
>
> So the delay is (1) an I2C bus driver that is not actually present, trying to
> probe for (2) seven different sensors chip drivers that certainly aren't present
> on the nonexistent bus. Timeouts ensue.
>
> So unless Ian knows a better way to detect that bus driver... the best I can
> advise is to *not* build in those drivers for hardware that you do not have.
OK, I know the I2C protocol, and I can imagine a hardware board which does
not have a way to detect its own presence - or the presence of its own ISA bus.
What I dislike the most is that, after the driver has taken more than 20
seconds to probe something it did not find, it did not display anything to
say "either there is a hardware problem, or you should disable me".
Are you sure that there isn't any distribution around trying to insert
_all_ the modules to do hardware detection?
Note that most I2C driver detect abscence of the hardware in a lot less than
a second: most of the I2C system is fine.
Regards,
Etienne.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot)
2006-03-29 9:26 ` Etienne Lorrain
@ 2006-03-29 13:38 ` Mark M. Hoffman
0 siblings, 0 replies; 20+ messages in thread
From: Mark M. Hoffman @ 2006-03-29 13:38 UTC (permalink / raw)
To: Etienne Lorrain; +Cc: linux-kernel, lm-sensors, Ian Campbell
Hello Etienne:
* Etienne Lorrain <etienne_lorrain@yahoo.fr> [2006-03-29 11:26:28 +0200]:
> --- "Mark M. Hoffman" <mhoffman@lightlink.com> wrote:
> > > 885c885
> > > < # CONFIG_I2C_PCA_ISA is not set
> > > ---
> > > > CONFIG_I2C_PCA_ISA=y
> >
> > This alone is the cause of the delay. (I have confirmed it by running some
> > similar .configs here.) You almost certainly don't own this specialized
> > piece of hardware. Worse still, that particular driver has no code to detect
> > whether or not the hardware is present. I cc'ed the listed driver author
> > (Ian) just in case this might be corrected... but I guess there is no way
> > to fix it.
> >
> > So the delay is (1) an I2C bus driver that is not actually present, trying to
> > probe for (2) seven different sensors chip drivers that certainly aren't present
> > on the nonexistent bus. Timeouts ensue.
> >
> > So unless Ian knows a better way to detect that bus driver... the best I can
> > advise is to *not* build in those drivers for hardware that you do not have.
>
> OK, I know the I2C protocol, and I can imagine a hardware board which does
> not have a way to detect its own presence - or the presence of its own ISA bus.
> What I dislike the most is that, after the driver has taken more than 20
> seconds to probe something it did not find, it did not display anything to
> say "either there is a hardware problem, or you should disable me".
I repeat just once more: the supported method for identifying hwmon/sensors
chips is a Perl script called sensors-detect that is distributed with the
lm-sensors package.
> Are you sure that there isn't any distribution around trying to insert
> _all_ the modules to do hardware detection?
No, because that is not supported. All of the major distributions package
lm-sensors, and AFAIK they all build hwmon/sensors as modules. They don't
insert any of them by default. If a distro was silly enough to blindly
insert them all... then it would take forever to boot and nobody would use
it.
> Note that most I2C driver detect abscence of the hardware in a lot less than
> a second: most of the I2C system is fine.
Feel free to write a patch for drivers/busses/i2c/i2c-pca-isa.c; I don't
have that hardware myself. Otherwise, my final advice is:
Patient: It hurts when I do this.
Doctor: Don't do that.
Regards,
--
Mark M. Hoffman
mhoffman@lightlink.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot)
2006-03-29 3:45 ` I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot) Mark M. Hoffman
2006-03-29 9:26 ` Etienne Lorrain
@ 2006-03-29 14:00 ` Ian Campbell
1 sibling, 0 replies; 20+ messages in thread
From: Ian Campbell @ 2006-03-29 14:00 UTC (permalink / raw)
To: Mark M. Hoffman; +Cc: Etienne Lorrain, linux-kernel, lm-sensors
On Tue, 2006-03-28 at 22:45 -0500, Mark M. Hoffman wrote:
>
> This alone is the cause of the delay. (I have confirmed it by running
> some similar .configs here.) You almost certainly don't own this
> specialized piece of hardware. Worse still, that particular driver
> has no code to detect whether or not the hardware is present. I cc'ed
> the listed driver author (Ian) just in case this might be corrected...
> but I guess there is no way to fix it.
>
> So the delay is (1) an I2C bus driver that is not actually present,
> trying to probe for (2) seven different sensors chip drivers that
> certainly aren't present on the nonexistent bus. Timeouts ensue.
>
> So unless Ian knows a better way to detect that bus driver... the best
> I can advise is to *not* build in those drivers for hardware that you
> do not have.
I don't work at Arcom anymore so I don't have access to the hardware,
but I don't know of a better way off the top of my head how to detect
the presence of the PCA chip.
You are unlikely to have the particular PC/104 card the driver was
written for. If I recall correctly PCA chip itself doesn't do ISA (it
has simple processor bus chip select type arrangement I think) but the
PC/104 card in question has a small CPLD which does the address decoding
for ISA. I guess you are unlikely to find another ISA card which has the
PCA chip on it.
It's possible that you might have an embedded board with the PCA chip
directly on it -- but if you don't then I don't know why you would
enable the driver.
Ian.
--
Ian Campbell
To save a single life is better than to build a seven story pagoda.
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2006-03-29 13:58 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-13 10:27 sis96x compiled in by error: delay of one minute at boot Etienne Lorrain
2006-03-13 11:46 ` Jean Delvare
2006-03-13 22:38 ` Etienne Lorrain
2006-03-14 9:43 ` Jean Delvare
2006-03-15 3:46 ` Mark M. Hoffman
2006-03-15 9:01 ` Jean Delvare
2006-03-16 3:59 ` Mark M. Hoffman
2006-03-16 8:46 ` Jean Delvare
2006-03-16 10:53 ` Etienne Lorrain
2006-03-17 4:20 ` [lm-sensors] " Mark M. Hoffman
2006-03-20 23:00 ` Etienne Lorrain
2006-03-29 3:45 ` I2C_PCA_ISA causes boot delays (was re: sis96x compiled in by error: delay of one minute at boot) Mark M. Hoffman
2006-03-29 9:26 ` Etienne Lorrain
2006-03-29 13:38 ` Mark M. Hoffman
2006-03-29 14:00 ` Ian Campbell
2006-03-17 3:56 ` [lm-sensors] sis96x compiled in by error: delay of one minute at boot Mark M. Hoffman
2006-03-17 3:58 ` [PATCH 2.6.16-rc6] i2c: require type parameter for i2c-parport and i2c-parport-light Mark M. Hoffman
2006-03-22 12:32 ` Jean Delvare
2006-03-15 23:03 ` [ot] VIA southbridge strangeness (was: sis96x compiled in by error: delay of one minute at boot) Jan Engelhardt
2006-03-16 8:22 ` Jean Delvare
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox