On Wednesday 04 February 2009, Geert Uytterhoeven wrote:
> On Tue, 27 Jan 2009, Bartlomiej Zolnierkiewicz wrote:
> > From: Bartlomiej Zolnierkiewicz <[email protected]>
> > Subject: [PATCH] ide: remove IDE_ARCH_LOCK
> >
> > * Add ->{get,release}_lock methods to struct ide_port_info
> > and struct ide_host.
> >
> > * Convert core IDE code, m68k IDE code and falconide support to use
> > ->{get,release}_lock methods instead of ide_{get,release}_lock().
> >
> > * Remove IDE_ARCH_LOCK.
> >
> > Cc: Geert Uytterhoeven <[email protected]>
> > Cc: Michael Schmitz <[email protected]>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
> > ---
> > We may also consider adding struct ide_host_ops later...
> >
> > drivers/ide/falconide.c | 25 +++++++++++++++++++++++--
> > drivers/ide/ide-io.c | 8 ++++----
> > drivers/ide/ide-probe.c | 2 ++
> > include/asm-m68k/ide.h | 36 ------------------------------------
> > include/linux/ide.h | 16 ++++++++++------
> > 5 files changed, 39 insertions(+), 48 deletions(-)
> >
> > Index: b/drivers/ide/falconide.c
> > ===================================================================
> > --- a/drivers/ide/falconide.c
> > +++ b/drivers/ide/falconide.c
> > @@ -40,8 +40,27 @@
> > * which is shared between several drivers.
> > */
> >
> > -int falconide_intr_lock;
> > -EXPORT_SYMBOL(falconide_intr_lock);
> > +static int falconide_intr_lock;
> > +
> > +static void falconide_release_lock(void)
> > +{
> > + if (falconide_intr_lock == 0) {
> > + printk(KERN_ERR "%s: bug\n", __func__);
> > + return;
> > + }
> > + falconide_intr_lock = 0;
> > + stdma_release();
> > +}
> > +
> > +static void falconide_get_lock(irq_handler_t handler, void *data)
> > +{
> > + if (falconide_intr_lock == 0) {
> > + if (in_interrupt() > 0)
> > + panic("Falcon IDE hasn't ST-DMA lock in interrupt");
> > + stdma_lock(handler, data);
> > + falconide_intr_lock = 1;
> > + }
> > +}
> >
> > static void falconide_input_data(ide_drive_t *drive, struct request *rq,
> > void *buf, unsigned int len)
> > @@ -81,6 +100,8 @@ static const struct ide_tp_ops falconide
> > };
> >
> > static const struct ide_port_info falconide_port_info = {
> > + .get_lock = falconide_get_lock,
> > + .release_lock = falconide_release_lock,
> > .tp_ops = &falconide_tp_ops,
> > .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_SERIALIZE,
> > };
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/71775/
>
> drivers/ide/falconide.c:157: error: implicit declaration of function
> 'ide_get_lock'
> drivers/ide/falconide.c:159: error: implicit declaration of function
> 'ide_release_lock'
>
> Seems like you forgot to update two callers?
>
> diff --git a/drivers/ide/falconide.c b/drivers/ide/falconide.c
> index 1203796..bb0c86e 100644
> --- a/drivers/ide/falconide.c
> +++ b/drivers/ide/falconide.c
> @@ -154,9 +154,9 @@ static int __init falconide_init(void)
> goto err;
> }
>
> - ide_get_lock(NULL, NULL);
> + falconide_get_lock(NULL, NULL);
> rc = ide_host_register(host, &falconide_port_info, hws);
> - ide_release_lock();
> + falconide_release_lock();
Thanks, I integrated above fix into the original patch.
...
v2:
* Build fix from Geert updating ide_{get,release}_lock() callers in
falconide.c.
...
Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html