Re: [PATCH 1/4] ide-pmac: media-bay support fixes
From: Bartlomiej Zolnierkiewicz
Date: Mon Jun 23 2008 - 17:44:55 EST
On Monday 23 June 2008, Benjamin Herrenschmidt wrote:
> On Mon, 2008-06-23 at 16:41 +1000, Benjamin Herrenschmidt wrote:
> > > Don't panic. It looks like it's something else in linux-next that's
> > > changing some ifdef's in the media-bay code which is causing that.
> > >
> > > I managed to pull linux next at the merge point with your tree and
> > > things apply. I'll use that to test.
> >
> > Ok, it doesn't work properly. It gets error trying to register
> > the IDE device. Booting with a CD drive in and no disk in the drive
> > gives the log below.
> >
> > I've verified that it works without your patches. If I apply only patch
> > 1, it doesn't build due to some wrong construct in the probe code. I've
> > hand fixed it, but then I hit a BUG_ON in ide_probe_port() (line 773).
> >
> > mediabay boot time messages (before IDE probing) are:
>
> BTW. I didn't debug more today as I ran out of time but I'll do more
> tomorrow.
>
> On a side note, we need to change the way the mediabay stuff works. I've
> started writing a pata_macio (ie. libata variant of the driver) a while
I (naively?) hope that you are using ide-pmac as a base (the driver looks
like a normal host driver now) and going to make the final API switch after
hardware specific changes are complete (so we will be able to use git-bisect
instead of guesswork combined with voodoo dance when dealing with potential
regressions :-).
> ago that I need to kick myself into finishing one of these days, and it
> will want something different than having the mediabay code poke into
> the IDE layer directly :-)
>
> My current though is to add a media bay notification callback to the
> macio_device structure (the pci variants of the device are never hooked
> up on a media bay) and move the state query function to the macio core,
> the media bay driver being then responsible for calling into the macio
> core to update the state.
You may want to look at ACPI hotplug dock handling for inspiration
(if you haven't already).
> I still have to sort out some interesting locking issues vs. state
> changes around driver probe() but I think that's the way to go. Thus,
> the drivers/ide driver can do it's old ide core hackery locally and the
> libata variant do what is needed for libata locally too.
There is no longer any hackery on IDE core code side in 2.6.26, there are
just two nice methods: ide_port_unregister_devices() and ide_scan_port().
Therefore I would prefer to also update ide-pmac for new methods and just
add what is needed (if any) to IDE core code.
[ Please keep me in loop on these mediabay changes. ]
> It's been a bit low on my todo list as Apple stopped making machines
> with hotswap mediabays something like 8 years ago :-) The two I have
> still working are pretty scary old things and one of them is almost
> falling apart..
:)
Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/