Jean Delvare [Wed, 14 Jan 2004 03:23:34 +0000 (19:23 -0800)]
[PATCH] I2C: New parport bus drivers
These are replacements for the i2c-philips-par, i2c-elv and i2c-velleman
drivers, as well as for the i2c-old i2c-parport driver as found under
drivers/media/video in linux 2.4. My reason for writing them, as already
discussed on the sensors and linux-kernel mailing-lists, is that all
these drivers basically do the same thing, so I thought it would be
easier to maintain a single driver instead of four. As Simon Vogl
pointed out that using a direct I/O access (as done in i2c-elv and
i2c-velleman) could be prefered over clean parport access (as done in
i2c-philips-par) on embedded devices, I finally wrote two drivers
instead of one. But both drivers support all devices, it's just a matter
of how they are accessed (and wether the driver depends on the parport
driver).
I made it so that the definition of the adapters (i.e. how to set and
get SDA and SCL, basically) is completely separated from the code
itself. Thus, adding support for a new adapter is simply adding a new
set of data to the definition table, describing how the adapter works,
in a single file.
This means that all simple parallel port adapters are virtually
supported. The i2c-pport driver we have in i2c CVS isn't supported yet
because it works a bit differently, but I believe that extending the
current driver(s) to support it should be possible (although it can be
discussed wether it's worth it).
You'll have to pass the type parameter that is correct for your board:
0 = Philips
2 = Velleman
3 = ELV
4 = ADM evaluation board
I could only test with my ADM eval board, and it worked OK with
both drivers. If they are confirmed to work, we could get rid of all
other parallel port i2c drivers in 2.6.
***
I think we should mark the i2c-philips-par, i2c-elv and i2c-velleman drivers as "deprecated" in i2c/busses/Kconfig. Is there a standard way to do so (like there is "&& EXPERIMENTAL" for new drivers)?
Jean Delvare [Wed, 14 Jan 2004 03:19:14 +0000 (19:19 -0800)]
[PATCH] I2C: Typo in i2c/busses/Kconfig
Another simple patch for your collection. BTW I don't think that i2c-rpx
can be used in 2.6 since it relies on an algorithm that hasn't been
ported yet.
Mark M. Hoffman [Wed, 14 Jan 2004 03:11:06 +0000 (19:11 -0800)]
[PATCH] I2C: link asb100 in the proper order
* Jean Delvare <khali@linux-fr.org> [2004-01-09 22:58:58 +0100]:
> Shouldn't the asb100 be listed first, the same way the w83781d is, since
> it has subclients? I would even put asb100 before w83781d, since for now
> the w83781d driver will try to handle ASB100 chips too, thus preventing
> the asb100 driver from being used if both drivers are built-in.
You're right, thanks
* * * * *
This patch fixes the link order for asb100 sensors chip driver.
This patch adds support for the ASB100 Bach sensor chip, which
is found on some Asus mainboards. The port corresponds to
lm_sensors CVS revision 1.5. The patch applies to and was tested
against 2.6.1-rc1.
Jean Delvare [Wed, 14 Jan 2004 03:09:15 +0000 (19:09 -0800)]
[PATCH] I2C: documentation update
> > They should be converted. From module.h:
> > /* DEPRECATED: Do not use. */
> > #define MODULE_PARM(var,type) \
> > ...
>
> Note that realistically, it's not going away in 2.6, so mass migration
> doesn't really win anything. However, I never implemented mixing old
> and new style in the same module, so if you're adding a parameter, it
> makes sense to convert them all.
OK, I don't have much time for a mass conversion anyway. Greg, could you
please apply the following patch to the "porting-clients" document so
that at least the new drivers don't need to be converted afterwards?
Linus Torvalds [Thu, 8 Jan 2004 03:46:52 +0000 (19:46 -0800)]
Fix subtle fork() race that Ingo noticed.
We must not mark the process TASK_STOPPED early, because
that might allow a signal to wake it up before we actually
got to the "wake_up_forked_process()" state. Total confusion
would happen.
Make wake_up_forked_process() verify the new world order.
Dave Jones [Wed, 7 Jan 2004 14:53:58 +0000 (14:53 +0000)]
[AGPGART] Add support for Radeon IGP345M to ATI GART driver.
Also consolidate a bunch of convoluted if's into a single
"is this an r200 or r300" function.
Andrew Morton [Wed, 7 Jan 2004 13:56:59 +0000 (05:56 -0800)]
[PATCH] ppc64: Add missing section definition
From: Anton Blanchard <anton@samba.org>
For a laugh we moved the BSS and our world exploded. Turns out we zero
from __bss_start to _end. Add __bss_stop to our section definitions so
we can use it instead.
Dave Kleikamp [Wed, 7 Jan 2004 02:35:15 +0000 (18:35 -0800)]
[PATCH] don't clear i_sb
From: Christoph Hellwig <hch@lst.de>
JFS currently clears i_sb in some error pathes which can make the
core kernel OOPS because it may never be NULL. Noticed because some
IBM people try to "fix" the core kernel for it now..
Andrew Morton [Tue, 6 Jan 2004 23:52:48 +0000 (15:52 -0800)]
[PATCH] ia32 sched_clock() deadlock fix
From: Ingo Molnar <mingo@elte.hu>,
Voyager is getting odd deadlocks due to the taking of xtime_lock() in
sched_clock()->get_jiffies_64().
I had this patch queued up to fix a different deadlock, which occurs when we
relax the requirement that TSC's be synchronised across CPUs. But it will
fix James' deadlock too.
Andrew Morton [Tue, 6 Jan 2004 23:52:30 +0000 (15:52 -0800)]
[PATCH] JFS fix for NFS on little-endian systems
From: Dave Kleikamp <shaggy@austin.ibm.com>
After Jose debugged the problem down to the routine jfs_get_parent, we
were able to find the problem. I believe it only affects users of
NFS-exported JFS file systems on big-endian hardware.
The problem was a missing le32_to_cpu macro. The patch also fixes a
return code to be more consistent other implementations of get_parent.
Andrew Morton [Tue, 6 Jan 2004 23:52:21 +0000 (15:52 -0800)]
[PATCH] fix sysfs oops
From: Greg KH <greg@kroah.com>
This fixes an oops when a kobject is unregistered before it's child is.
The usb-serial devices show this bug very easily (yank out a device
while its port is opened...)
Patch was originally written by Mike Gorse <mgorse@mgorse.dhs.org>
Andrew Morton [Tue, 6 Jan 2004 23:52:12 +0000 (15:52 -0800)]
[PATCH] MSI build fixes
Add missing NR_VECTORS definition to visws and pc9800. Also, make MSI
support dependent on CONFIG_X86_IO_APIC, as it won't build without IOAPIC
support.
Adam Belay [Tue, 6 Jan 2004 12:08:21 +0000 (04:08 -0800)]
[PATCH] Fix PnP BIOS call
The recent escd fix I have made corrects a thinko in the PnPBIOS code and it
turns out that faults from calling /proc/pnp/bus/escd were probably not caused
by BIOS bugs.
Fix for oops on rmmod caused by *_remove() function marked as __devinit
(and thus discarded after module initialization - if CONFIG_MODULES=y
and CONFIG_HOTPLUG is not set).
This patch changes __devinit to __devexit and adds __devexit_p() where
pointer to such function is used.
The only exception is au1000, where au1000_remove() is called from
cleanup_au1000() function - __devinit is jest removed there.
This fixes BUG-on-swapout for srmmu-based systems. The problem is
caused by kmap_atomic_to_page being fed an aliased (pagetable) address
and returning bogons. This also adjusts the pkmap and fixmap base
addresses so they cannot overlap.