* linux-next: ide build failure
@ 2008-05-30 1:54 Stephen Rothwell
2008-05-31 13:38 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2008-05-30 1:54 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: linux-next
Hi Bart,
Today's linux-next build (x86_64 allmodconfig) failed like this:
ERROR: "ide_timing_merge" [drivers/ide/pci/via82cxxx.ko] undefined!
ERROR: "ide_timing_compute" [drivers/ide/pci/via82cxxx.ko] undefined!
ERROR: "ide_timing_find_mode" [drivers/ide/pci/opti621.ko] undefined!
ERROR: "ide_timing_find_mode" [drivers/ide/pci/cy82c693.ko] undefined!
ERROR: "ide_timing_find_mode" [drivers/ide/pci/cmd64x.ko] undefined!
ERROR: "ide_timing_find_mode" [drivers/ide/pci/cmd640.ko] undefined!
ERROR: "ide_timing_merge" [drivers/ide/pci/amd74xx.ko] undefined!
ERROR: "ide_timing_compute" [drivers/ide/pci/amd74xx.ko] undefined!
ERROR: "ide_timing_find_mode" [drivers/ide/pci/alim15x3.ko] undefined!
Caused by commit 3a3147040f2bb250ca09cd5ce5b0526969d50ba6 ("ide: convert
ide-timing.h to ide-timings.c library").
I applied the following patch.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
>From 0a1194cf0893e6e9ad0ecd9ade50f710c0540552 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 30 May 2008 11:52:22 +1000
Subject: [PATCH] ide: ide-timing.h fallout
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/ide/ide-timings.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/ide/ide-timings.c b/drivers/ide/ide-timings.c
index dca53b0..8a43bd9 100644
--- a/drivers/ide/ide-timings.c
+++ b/drivers/ide/ide-timings.c
@@ -24,6 +24,7 @@
#include <linux/kernel.h>
#include <linux/hdreg.h>
#include <linux/ide.h>
+#include <linux/module.h>
/*
* PIO 0-5, MWDMA 0-2 and UDMA 0-6 timings (in nanoseconds).
@@ -73,6 +74,7 @@ struct ide_timing *ide_timing_find_mode(u8 speed)
return NULL;
return t;
}
+EXPORT_SYMBOL(ide_timing_find_mode);
u16 ide_pio_cycle_time(ide_drive_t *drive, u8 pio)
{
@@ -131,6 +133,7 @@ void ide_timing_merge(struct ide_timing *a, struct ide_timing *b,
if (what & IDE_TIMING_UDMA)
m->udma = max(a->udma, b->udma);
}
+EXPORT_SYMBOL(ide_timing_merge);
int ide_timing_compute(ide_drive_t *drive, u8 speed,
struct ide_timing *t, int T, int UT)
@@ -199,3 +202,4 @@ int ide_timing_compute(ide_drive_t *drive, u8 speed,
return 0;
}
+EXPORT_SYMBOL(ide_timing_compute);
--
1.5.5.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-05-30 1:54 Stephen Rothwell
@ 2008-05-31 13:38 ` Bartlomiej Zolnierkiewicz
2008-06-01 2:05 ` Stephen Rothwell
0 siblings, 1 reply; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-05-31 13:38 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linux-next
Hi,
On Friday 30 May 2008, Stephen Rothwell wrote:
> Hi Bart,
>
> Today's linux-next build (x86_64 allmodconfig) failed like this:
>
> ERROR: "ide_timing_merge" [drivers/ide/pci/via82cxxx.ko] undefined!
> ERROR: "ide_timing_compute" [drivers/ide/pci/via82cxxx.ko] undefined!
> ERROR: "ide_timing_find_mode" [drivers/ide/pci/opti621.ko] undefined!
> ERROR: "ide_timing_find_mode" [drivers/ide/pci/cy82c693.ko] undefined!
> ERROR: "ide_timing_find_mode" [drivers/ide/pci/cmd64x.ko] undefined!
> ERROR: "ide_timing_find_mode" [drivers/ide/pci/cmd640.ko] undefined!
> ERROR: "ide_timing_merge" [drivers/ide/pci/amd74xx.ko] undefined!
> ERROR: "ide_timing_compute" [drivers/ide/pci/amd74xx.ko] undefined!
> ERROR: "ide_timing_find_mode" [drivers/ide/pci/alim15x3.ko] undefined!
>
> Caused by commit 3a3147040f2bb250ca09cd5ce5b0526969d50ba6 ("ide: convert
> ide-timing.h to ide-timings.c library").
>
> I applied the following patch.
[...]
Thanks, I integrated it with the guilty commit.
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH] ide: convert ide-timing.h to ide-timings.c library (take 2)
* Don't include ide-timing.h in cs5535 and sis5513 host drivers
(they don't need it currently).
* Convert ide-timing.h to ide-timings.c library and add CONFIG_IDE_TIMINGS
config option to be selected by host drivers using the library.
While at it:
- fix ide_timing_find_mode() placement
v2:
* Add missing EXPORT_SYMBOLs. (Stephen Rothwell <sfr@canb.auug.org.au>)
There should be no functional changes caused by this patch.
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
drivers/ide/Kconfig | 7 +
drivers/ide/Makefile | 1
drivers/ide/arm/palm_bk3710.c | 2
drivers/ide/ide-timing.h | 183 ------------------------------------------
drivers/ide/ide-timings.c | 183 ++++++++++++++++++++++++++++++++++++++++++
drivers/ide/pci/amd74xx.c | 2
drivers/ide/pci/cs5535.c | 2
drivers/ide/pci/sis5513.c | 3
drivers/ide/pci/via82cxxx.c | 2
drivers/ide/ppc/pmac.c | 2
include/linux/ide.h | 5 +
11 files changed, 196 insertions(+), 196 deletions(-)
Index: b/drivers/ide/Kconfig
===================================================================
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -98,6 +98,9 @@ if BLK_DEV_IDE
comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
+config IDE_TIMINGS
+ bool
+
config IDE_ATAPI
bool
@@ -469,6 +472,7 @@ config BLK_DEV_ALI15X3
config BLK_DEV_AMD74XX
tristate "AMD and nVidia IDE support"
depends on !ARM
+ select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver adds explicit support for AMD-7xx and AMD-8111 chips
@@ -725,6 +729,7 @@ config BLK_DEV_TRM290
config BLK_DEV_VIA82CXXX
tristate "VIA82CXXX chipset support"
+ select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver adds explicit support for VIA BusMastering IDE chips.
@@ -751,6 +756,7 @@ endif
config BLK_DEV_IDE_PMAC
tristate "PowerMac on-board IDE support"
depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
+ select IDE_TIMINGS
help
This driver provides support for the on-board IDE controller on
most of the recent Apple Power Macintoshes and PowerBooks.
@@ -919,6 +925,7 @@ config BLK_DEV_Q40IDE
config BLK_DEV_PALMCHIP_BK3710
tristate "Palmchip bk3710 IDE controller support"
depends on ARCH_DAVINCI
+ select IDE_TIMINGS
select BLK_DEV_IDEDMA_SFF
help
Say Y here if you want to support the onchip IDE controller on the
Index: b/drivers/ide/Makefile
===================================================================
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -14,6 +14,7 @@ EXTRA_CFLAGS += -Idrivers/ide
ide-core-y += ide.o ide-io.o ide-iops.o ide-lib.o ide-probe.o ide-taskfile.o
# core IDE code
+ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o
ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o
ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o
Index: b/drivers/ide/arm/palm_bk3710.c
===================================================================
--- a/drivers/ide/arm/palm_bk3710.c
+++ b/drivers/ide/arm/palm_bk3710.c
@@ -74,8 +74,6 @@ struct palm_bk3710_udmatiming {
#define BK3710_IORDYTMP 0x78
#define BK3710_IORDYTMS 0x7C
-#include "../ide-timing.h"
-
static long ide_palm_clk;
static const struct palm_bk3710_udmatiming palm_bk3710_udmatimings[6] = {
Index: b/drivers/ide/ide-timing.h
===================================================================
--- a/drivers/ide/ide-timing.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef _IDE_TIMING_H
-#define _IDE_TIMING_H
-
-/*
- * Copyright (c) 1999-2001 Vojtech Pavlik
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Should you need to contact me, the author, you can do so either by
- * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
- * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
- */
-
-#include <linux/kernel.h>
-#include <linux/hdreg.h>
-
-/*
- * PIO 0-5, MWDMA 0-2 and UDMA 0-6 timings (in nanoseconds).
- * These were taken from ATA/ATAPI-6 standard, rev 0a, except
- * for PIO 5, which is a nonstandard extension and UDMA6, which
- * is currently supported only by Maxtor drives.
- */
-
-static struct ide_timing ide_timing[] = {
-
- { XFER_UDMA_6, 0, 0, 0, 0, 0, 0, 0, 15 },
- { XFER_UDMA_5, 0, 0, 0, 0, 0, 0, 0, 20 },
- { XFER_UDMA_4, 0, 0, 0, 0, 0, 0, 0, 30 },
- { XFER_UDMA_3, 0, 0, 0, 0, 0, 0, 0, 45 },
-
- { XFER_UDMA_2, 0, 0, 0, 0, 0, 0, 0, 60 },
- { XFER_UDMA_1, 0, 0, 0, 0, 0, 0, 0, 80 },
- { XFER_UDMA_0, 0, 0, 0, 0, 0, 0, 0, 120 },
-
- { XFER_MW_DMA_2, 25, 0, 0, 0, 70, 25, 120, 0 },
- { XFER_MW_DMA_1, 45, 0, 0, 0, 80, 50, 150, 0 },
- { XFER_MW_DMA_0, 60, 0, 0, 0, 215, 215, 480, 0 },
-
- { XFER_SW_DMA_2, 60, 0, 0, 0, 120, 120, 240, 0 },
- { XFER_SW_DMA_1, 90, 0, 0, 0, 240, 240, 480, 0 },
- { XFER_SW_DMA_0, 120, 0, 0, 0, 480, 480, 960, 0 },
-
- { XFER_PIO_5, 20, 50, 30, 100, 50, 30, 100, 0 },
- { XFER_PIO_4, 25, 70, 25, 120, 70, 25, 120, 0 },
- { XFER_PIO_3, 30, 80, 70, 180, 80, 70, 180, 0 },
-
- { XFER_PIO_2, 30, 290, 40, 330, 100, 90, 240, 0 },
- { XFER_PIO_1, 50, 290, 93, 383, 125, 100, 383, 0 },
- { XFER_PIO_0, 70, 290, 240, 600, 165, 150, 600, 0 },
-
- { XFER_PIO_SLOW, 120, 290, 240, 960, 290, 240, 960, 0 },
-
- { 0xff }
-};
-
-#define ENOUGH(v, unit) (((v) - 1) / (unit) + 1)
-#define EZ(v, unit) ((v) ? ENOUGH(v, unit) : 0)
-
-static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q,
- int T, int UT)
-{
- q->setup = EZ(t->setup * 1000, T);
- q->act8b = EZ(t->act8b * 1000, T);
- q->rec8b = EZ(t->rec8b * 1000, T);
- q->cyc8b = EZ(t->cyc8b * 1000, T);
- q->active = EZ(t->active * 1000, T);
- q->recover = EZ(t->recover * 1000, T);
- q->cycle = EZ(t->cycle * 1000, T);
- q->udma = EZ(t->udma * 1000, UT);
-}
-
-static void ide_timing_merge(struct ide_timing *a, struct ide_timing *b,
- struct ide_timing *m, unsigned int what)
-{
- if (what & IDE_TIMING_SETUP)
- m->setup = max(a->setup, b->setup);
- if (what & IDE_TIMING_ACT8B)
- m->act8b = max(a->act8b, b->act8b);
- if (what & IDE_TIMING_REC8B)
- m->rec8b = max(a->rec8b, b->rec8b);
- if (what & IDE_TIMING_CYC8B)
- m->cyc8b = max(a->cyc8b, b->cyc8b);
- if (what & IDE_TIMING_ACTIVE)
- m->active = max(a->active, b->active);
- if (what & IDE_TIMING_RECOVER)
- m->recover = max(a->recover, b->recover);
- if (what & IDE_TIMING_CYCLE)
- m->cycle = max(a->cycle, b->cycle);
- if (what & IDE_TIMING_UDMA)
- m->udma = max(a->udma, b->udma);
-}
-
-static struct ide_timing *ide_timing_find_mode(u8 speed)
-{
- struct ide_timing *t;
-
- for (t = ide_timing; t->mode != speed; t++)
- if (t->mode == 0xff)
- return NULL;
- return t;
-}
-
-static int ide_timing_compute(ide_drive_t *drive, u8 speed,
- struct ide_timing *t, int T, int UT)
-{
- struct hd_driveid *id = drive->id;
- struct ide_timing *s, p;
-
- /*
- * Find the mode.
- */
- s = ide_timing_find_mode(speed);
- if (s == NULL)
- return -EINVAL;
-
- /*
- * Copy the timing from the table.
- */
- *t = *s;
-
- /*
- * If the drive is an EIDE drive, it can tell us it needs extended
- * PIO/MWDMA cycle timing.
- */
- if (id && id->field_valid & 2) { /* EIDE drive */
-
- memset(&p, 0, sizeof(p));
-
- if (speed <= XFER_PIO_2)
- p.cycle = p.cyc8b = id->eide_pio;
- else if (speed <= XFER_PIO_5)
- p.cycle = p.cyc8b = id->eide_pio_iordy;
- else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2)
- p.cycle = id->eide_dma_min;
-
- ide_timing_merge(&p, t, t, IDE_TIMING_CYCLE | IDE_TIMING_CYC8B);
- }
-
- /*
- * Convert the timing to bus clock counts.
- */
- ide_timing_quantize(t, t, T, UT);
-
- /*
- * Even in DMA/UDMA modes we still use PIO access for IDENTIFY,
- * S.M.A.R.T and some other commands. We have to ensure that the
- * DMA cycle timing is slower/equal than the fastest PIO timing.
- */
- if (speed >= XFER_SW_DMA_0) {
- u8 pio = ide_get_best_pio_mode(drive, 255, 5);
- ide_timing_compute(drive, XFER_PIO_0 + pio, &p, T, UT);
- ide_timing_merge(&p, t, t, IDE_TIMING_ALL);
- }
-
- /*
- * Lengthen active & recovery time so that cycle time is correct.
- */
- if (t->act8b + t->rec8b < t->cyc8b) {
- t->act8b += (t->cyc8b - (t->act8b + t->rec8b)) / 2;
- t->rec8b = t->cyc8b - t->act8b;
- }
-
- if (t->active + t->recover < t->cycle) {
- t->active += (t->cycle - (t->active + t->recover)) / 2;
- t->recover = t->cycle - t->active;
- }
-
- return 0;
-}
-
-#endif
Index: b/drivers/ide/ide-timings.c
===================================================================
--- /dev/null
+++ b/drivers/ide/ide-timings.c
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 1999-2001 Vojtech Pavlik
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Should you need to contact me, the author, you can do so either by
+ * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
+ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
+ */
+
+#include <linux/kernel.h>
+#include <linux/hdreg.h>
+#include <linux/ide.h>
+#include <linux/module.h>
+
+/*
+ * PIO 0-5, MWDMA 0-2 and UDMA 0-6 timings (in nanoseconds).
+ * These were taken from ATA/ATAPI-6 standard, rev 0a, except
+ * for PIO 5, which is a nonstandard extension and UDMA6, which
+ * is currently supported only by Maxtor drives.
+ */
+
+static struct ide_timing ide_timing[] = {
+
+ { XFER_UDMA_6, 0, 0, 0, 0, 0, 0, 0, 15 },
+ { XFER_UDMA_5, 0, 0, 0, 0, 0, 0, 0, 20 },
+ { XFER_UDMA_4, 0, 0, 0, 0, 0, 0, 0, 30 },
+ { XFER_UDMA_3, 0, 0, 0, 0, 0, 0, 0, 45 },
+
+ { XFER_UDMA_2, 0, 0, 0, 0, 0, 0, 0, 60 },
+ { XFER_UDMA_1, 0, 0, 0, 0, 0, 0, 0, 80 },
+ { XFER_UDMA_0, 0, 0, 0, 0, 0, 0, 0, 120 },
+
+ { XFER_MW_DMA_2, 25, 0, 0, 0, 70, 25, 120, 0 },
+ { XFER_MW_DMA_1, 45, 0, 0, 0, 80, 50, 150, 0 },
+ { XFER_MW_DMA_0, 60, 0, 0, 0, 215, 215, 480, 0 },
+
+ { XFER_SW_DMA_2, 60, 0, 0, 0, 120, 120, 240, 0 },
+ { XFER_SW_DMA_1, 90, 0, 0, 0, 240, 240, 480, 0 },
+ { XFER_SW_DMA_0, 120, 0, 0, 0, 480, 480, 960, 0 },
+
+ { XFER_PIO_5, 20, 50, 30, 100, 50, 30, 100, 0 },
+ { XFER_PIO_4, 25, 70, 25, 120, 70, 25, 120, 0 },
+ { XFER_PIO_3, 30, 80, 70, 180, 80, 70, 180, 0 },
+
+ { XFER_PIO_2, 30, 290, 40, 330, 100, 90, 240, 0 },
+ { XFER_PIO_1, 50, 290, 93, 383, 125, 100, 383, 0 },
+ { XFER_PIO_0, 70, 290, 240, 600, 165, 150, 600, 0 },
+
+ { XFER_PIO_SLOW, 120, 290, 240, 960, 290, 240, 960, 0 },
+
+ { 0xff }
+};
+
+struct ide_timing *ide_timing_find_mode(u8 speed)
+{
+ struct ide_timing *t;
+
+ for (t = ide_timing; t->mode != speed; t++)
+ if (t->mode == 0xff)
+ return NULL;
+ return t;
+}
+EXPORT_SYMBOL_GPL(ide_timing_find_mode);
+
+#define ENOUGH(v, unit) (((v) - 1) / (unit) + 1)
+#define EZ(v, unit) ((v) ? ENOUGH(v, unit) : 0)
+
+static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q,
+ int T, int UT)
+{
+ q->setup = EZ(t->setup * 1000, T);
+ q->act8b = EZ(t->act8b * 1000, T);
+ q->rec8b = EZ(t->rec8b * 1000, T);
+ q->cyc8b = EZ(t->cyc8b * 1000, T);
+ q->active = EZ(t->active * 1000, T);
+ q->recover = EZ(t->recover * 1000, T);
+ q->cycle = EZ(t->cycle * 1000, T);
+ q->udma = EZ(t->udma * 1000, UT);
+}
+
+void ide_timing_merge(struct ide_timing *a, struct ide_timing *b,
+ struct ide_timing *m, unsigned int what)
+{
+ if (what & IDE_TIMING_SETUP)
+ m->setup = max(a->setup, b->setup);
+ if (what & IDE_TIMING_ACT8B)
+ m->act8b = max(a->act8b, b->act8b);
+ if (what & IDE_TIMING_REC8B)
+ m->rec8b = max(a->rec8b, b->rec8b);
+ if (what & IDE_TIMING_CYC8B)
+ m->cyc8b = max(a->cyc8b, b->cyc8b);
+ if (what & IDE_TIMING_ACTIVE)
+ m->active = max(a->active, b->active);
+ if (what & IDE_TIMING_RECOVER)
+ m->recover = max(a->recover, b->recover);
+ if (what & IDE_TIMING_CYCLE)
+ m->cycle = max(a->cycle, b->cycle);
+ if (what & IDE_TIMING_UDMA)
+ m->udma = max(a->udma, b->udma);
+}
+EXPORT_SYMBOL_GPL(ide_timing_merge);
+
+int ide_timing_compute(ide_drive_t *drive, u8 speed,
+ struct ide_timing *t, int T, int UT)
+{
+ struct hd_driveid *id = drive->id;
+ struct ide_timing *s, p;
+
+ /*
+ * Find the mode.
+ */
+ s = ide_timing_find_mode(speed);
+ if (s == NULL)
+ return -EINVAL;
+
+ /*
+ * Copy the timing from the table.
+ */
+ *t = *s;
+
+ /*
+ * If the drive is an EIDE drive, it can tell us it needs extended
+ * PIO/MWDMA cycle timing.
+ */
+ if (id && id->field_valid & 2) { /* EIDE drive */
+
+ memset(&p, 0, sizeof(p));
+
+ if (speed <= XFER_PIO_2)
+ p.cycle = p.cyc8b = id->eide_pio;
+ else if (speed <= XFER_PIO_5)
+ p.cycle = p.cyc8b = id->eide_pio_iordy;
+ else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2)
+ p.cycle = id->eide_dma_min;
+
+ ide_timing_merge(&p, t, t, IDE_TIMING_CYCLE | IDE_TIMING_CYC8B);
+ }
+
+ /*
+ * Convert the timing to bus clock counts.
+ */
+ ide_timing_quantize(t, t, T, UT);
+
+ /*
+ * Even in DMA/UDMA modes we still use PIO access for IDENTIFY,
+ * S.M.A.R.T and some other commands. We have to ensure that the
+ * DMA cycle timing is slower/equal than the fastest PIO timing.
+ */
+ if (speed >= XFER_SW_DMA_0) {
+ u8 pio = ide_get_best_pio_mode(drive, 255, 5);
+ ide_timing_compute(drive, XFER_PIO_0 + pio, &p, T, UT);
+ ide_timing_merge(&p, t, t, IDE_TIMING_ALL);
+ }
+
+ /*
+ * Lengthen active & recovery time so that cycle time is correct.
+ */
+ if (t->act8b + t->rec8b < t->cyc8b) {
+ t->act8b += (t->cyc8b - (t->act8b + t->rec8b)) / 2;
+ t->rec8b = t->cyc8b - t->act8b;
+ }
+
+ if (t->active + t->recover < t->cycle) {
+ t->active += (t->cycle - (t->active + t->recover)) / 2;
+ t->recover = t->cycle - t->active;
+ }
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(ide_timing_compute);
Index: b/drivers/ide/pci/amd74xx.c
===================================================================
--- a/drivers/ide/pci/amd74xx.c
+++ b/drivers/ide/pci/amd74xx.c
@@ -21,8 +21,6 @@
#include <linux/init.h>
#include <linux/ide.h>
-#include "ide-timing.h"
-
enum {
AMD_IDE_CONFIG = 0x41,
AMD_CABLE_DETECT = 0x42,
Index: b/drivers/ide/pci/cs5535.c
===================================================================
--- a/drivers/ide/pci/cs5535.c
+++ b/drivers/ide/pci/cs5535.c
@@ -26,8 +26,6 @@
#include <linux/pci.h>
#include <linux/ide.h>
-#include "ide-timing.h"
-
#define MSR_ATAC_BASE 0x51300000
#define ATAC_GLD_MSR_CAP (MSR_ATAC_BASE+0)
#define ATAC_GLD_MSR_CONFIG (MSR_ATAC_BASE+0x01)
Index: b/drivers/ide/pci/sis5513.c
===================================================================
--- a/drivers/ide/pci/sis5513.c
+++ b/drivers/ide/pci/sis5513.c
@@ -52,8 +52,6 @@
#include <linux/init.h>
#include <linux/ide.h>
-#include "ide-timing.h"
-
/* registers layout and init values are chipset family dependant */
#define ATA_16 0x01
@@ -616,7 +614,6 @@ MODULE_LICENSE("GPL");
/*
* TODO:
* - CLEANUP
- * - Use drivers/ide/ide-timing.h !
* - More checks in the config registers (force values instead of
* relying on the BIOS setting them correctly).
* - Further optimisations ?
Index: b/drivers/ide/pci/via82cxxx.c
===================================================================
--- a/drivers/ide/pci/via82cxxx.c
+++ b/drivers/ide/pci/via82cxxx.c
@@ -35,8 +35,6 @@
#include <asm/processor.h>
#endif
-#include "ide-timing.h"
-
#define VIA_IDE_ENABLE 0x40
#define VIA_IDE_CONFIG 0x41
#define VIA_FIFO_CONFIG 0x43
Index: b/drivers/ide/ppc/pmac.c
===================================================================
--- a/drivers/ide/ppc/pmac.c
+++ b/drivers/ide/ppc/pmac.c
@@ -48,8 +48,6 @@
#include <asm/mediabay.h>
#endif
-#include "../ide-timing.h"
-
#undef IDE_PMAC_DEBUG
#define DMA_WAIT_TIMEOUT 50
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1284,6 +1284,11 @@ enum {
IDE_TIMING_CYCLE | IDE_TIMING_UDMA,
};
+struct ide_timing *ide_timing_find_mode(u8);
+void ide_timing_merge(struct ide_timing *, struct ide_timing *,
+ struct ide_timing *, unsigned int);
+int ide_timing_compute(ide_drive_t *, u8, struct ide_timing *, int, int);
+
typedef struct ide_pio_timings_s {
int setup_time; /* Address setup (ns) minimum */
int active_time; /* Active pulse (ns) minimum */
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-05-31 13:38 ` Bartlomiej Zolnierkiewicz
@ 2008-06-01 2:05 ` Stephen Rothwell
0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2008-06-01 2:05 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: linux-next
[-- Attachment #1: Type: text/plain, Size: 465 bytes --]
Hi Bart,
On Sat, 31 May 2008 15:38:37 +0200 Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
>
> On Friday 30 May 2008, Stephen Rothwell wrote:
> >
> > Today's linux-next build (x86_64 allmodconfig) failed like this:
> >
> > I applied the following patch.
>
> [...]
>
> Thanks, I integrated it with the guilty commit.
Good, thanks.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* linux-next: ide build failure
@ 2008-06-16 3:38 Stephen Rothwell
2008-06-16 3:55 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2008-06-16 3:38 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: linux-next, Benjamin Herrenschmidt
Hi Bart,
Today's linux-next build (powerpc ppc64_defconfig) failed like this:
drivers/ide/ppc/pmac.c: In function 'pmac_ide_cable_detect':
drivers/ide/ppc/pmac.c:926: error: implicit declaration of function 'drv_get_drvdata'
drivers/ide/ppc/pmac.c:926: warning: cast to pointer from integer of different size
drivers/ide/ppc/pmac.c: In function 'pmac_ide_init_dev':
drivers/ide/ppc/pmac.c:950: warning: cast to pointer from integer of different size
drivers/ide/ppc/pmac.c: In function 'pmac_ide_setup_device':
drivers/ide/ppc/pmac.c:1082: error: request for member 'irq' in something not a structure or union
drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_suspend':
drivers/ide/ppc/pmac.c:1321: error: 'hwif' undeclared (first use in this function)
drivers/ide/ppc/pmac.c:1321: error: (Each undeclared identifier is reported only once
drivers/ide/ppc/pmac.c:1321: error: for each function it appears in.)
drivers/ide/ppc/pmac.c:1316: warning: unused variable 'pmif'
drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_resume':
drivers/ide/ppc/pmac.c:1336: error: 'hwif' undeclared (first use in this function)
drivers/ide/ppc/pmac.c:1332: warning: unused variable 'pmif'
I applied the patch below ... (which clearly needs work)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
>From e23339391c5e18a12f2c5d51ca5032df92d9d978 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 16 Jun 2008 13:35:36 +1000
Subject: [PATCH] ide pmac fixes 1
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/ide/ppc/pmac.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
index 0671fb8..363bc4e 100644
--- a/drivers/ide/ppc/pmac.c
+++ b/drivers/ide/ppc/pmac.c
@@ -923,7 +923,7 @@ static int pmac_ide_do_resume(pmac_ide_hwif_t *pmif)
static u8 pmac_ide_cable_detect(ide_hwif_t *hwif)
{
pmac_ide_hwif_t *pmif =
- (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
+ (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
struct device_node *np = pmif->node;
const char *cable = of_get_property(np, "cable-type", NULL);
@@ -947,7 +947,7 @@ static void pmac_ide_init_dev(ide_drive_t *drive)
{
ide_hwif_t *hwif = drive->hwif;
pmac_ide_hwif_t *pmif =
- (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
+ (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
if (pmif->mediabay) {
#ifdef CONFIG_PMAC_MEDIABAY
@@ -1076,10 +1076,10 @@ static int __devinit pmac_ide_setup_device(pmac_ide_hwif_t *pmif, hw_regs_t *hw)
msleep(jiffies_to_msecs(IDE_WAKEUP_DELAY));
}
- printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
- "bus ID %d%s, irq %d\n", model_name[pmif->kind],
- pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
- pmif->mediabay ? " (mediabay)" : "", hw.irq);
+// printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
+// "bus ID %d%s, irq %d\n", model_name[pmif->kind],
+// pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
+// pmif->mediabay ? " (mediabay)" : "", hw.irq);
hwif = ide_find_port_slot(&d);
if (hwif == NULL)
@@ -1318,7 +1318,7 @@ pmac_ide_pci_suspend(struct pci_dev *pdev, pm_message_t mesg)
if (mesg.event != pdev->dev.power.power_state.event
&& (mesg.event & PM_EVENT_SLEEP)) {
- rc = pmac_ide_do_suspend(hwif);
+ rc = pmac_ide_do_suspend(pmif);
if (rc == 0)
pdev->dev.power.power_state = mesg;
}
@@ -1333,7 +1333,7 @@ pmac_ide_pci_resume(struct pci_dev *pdev)
int rc = 0;
if (pdev->dev.power.power_state.event != PM_EVENT_ON) {
- rc = pmac_ide_do_resume(hwif);
+ rc = pmac_ide_do_resume(pmif);
if (rc == 0)
pdev->dev.power.power_state = PMSG_ON;
}
--
1.5.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-06-16 3:38 linux-next: ide build failure Stephen Rothwell
@ 2008-06-16 3:55 ` Benjamin Herrenschmidt
2008-06-16 9:54 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 9+ messages in thread
From: Benjamin Herrenschmidt @ 2008-06-16 3:55 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Bartlomiej Zolnierkiewicz, linux-next
On Mon, 2008-06-16 at 13:38 +1000, Stephen Rothwell wrote:
> Hi Bart,
>
> Today's linux-next build (powerpc ppc64_defconfig) failed like this:
>
> drivers/ide/ppc/pmac.c: In function 'pmac_ide_cable_detect':
> drivers/ide/ppc/pmac.c:926: error: implicit declaration of function 'drv_get_drvdata'
> drivers/ide/ppc/pmac.c:926: warning: cast to pointer from integer of different size
> drivers/ide/ppc/pmac.c: In function 'pmac_ide_init_dev':
> drivers/ide/ppc/pmac.c:950: warning: cast to pointer from integer of different size
> drivers/ide/ppc/pmac.c: In function 'pmac_ide_setup_device':
> drivers/ide/ppc/pmac.c:1082: error: request for member 'irq' in something not a structure or union
> drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_suspend':
> drivers/ide/ppc/pmac.c:1321: error: 'hwif' undeclared (first use in this function)
> drivers/ide/ppc/pmac.c:1321: error: (Each undeclared identifier is reported only once
> drivers/ide/ppc/pmac.c:1321: error: for each function it appears in.)
> drivers/ide/ppc/pmac.c:1316: warning: unused variable 'pmif'
> drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_resume':
> drivers/ide/ppc/pmac.c:1336: error: 'hwif' undeclared (first use in this function)
> drivers/ide/ppc/pmac.c:1332: warning: unused variable 'pmif'
>
> I applied the patch below ... (which clearly needs work)
Bart, I hadn't managed to review / test your new patches yet, but
please, avoid putting anything touching the pmac stuff in your
"next" tree until it's been fully acked by me. Stuff in linux-next
is stuff that is supposed to be -ready to be merged- upstream. Those
patches definitely are not.
Thanks !
Ben.
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/
>
> >From e23339391c5e18a12f2c5d51ca5032df92d9d978 Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 16 Jun 2008 13:35:36 +1000
> Subject: [PATCH] ide pmac fixes 1
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/ide/ppc/pmac.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
> index 0671fb8..363bc4e 100644
> --- a/drivers/ide/ppc/pmac.c
> +++ b/drivers/ide/ppc/pmac.c
> @@ -923,7 +923,7 @@ static int pmac_ide_do_resume(pmac_ide_hwif_t *pmif)
> static u8 pmac_ide_cable_detect(ide_hwif_t *hwif)
> {
> pmac_ide_hwif_t *pmif =
> - (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
> + (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
> struct device_node *np = pmif->node;
> const char *cable = of_get_property(np, "cable-type", NULL);
>
> @@ -947,7 +947,7 @@ static void pmac_ide_init_dev(ide_drive_t *drive)
> {
> ide_hwif_t *hwif = drive->hwif;
> pmac_ide_hwif_t *pmif =
> - (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
> + (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
>
> if (pmif->mediabay) {
> #ifdef CONFIG_PMAC_MEDIABAY
> @@ -1076,10 +1076,10 @@ static int __devinit pmac_ide_setup_device(pmac_ide_hwif_t *pmif, hw_regs_t *hw)
> msleep(jiffies_to_msecs(IDE_WAKEUP_DELAY));
> }
>
> - printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
> - "bus ID %d%s, irq %d\n", model_name[pmif->kind],
> - pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
> - pmif->mediabay ? " (mediabay)" : "", hw.irq);
> +// printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
> +// "bus ID %d%s, irq %d\n", model_name[pmif->kind],
> +// pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
> +// pmif->mediabay ? " (mediabay)" : "", hw.irq);
>
> hwif = ide_find_port_slot(&d);
> if (hwif == NULL)
> @@ -1318,7 +1318,7 @@ pmac_ide_pci_suspend(struct pci_dev *pdev, pm_message_t mesg)
>
> if (mesg.event != pdev->dev.power.power_state.event
> && (mesg.event & PM_EVENT_SLEEP)) {
> - rc = pmac_ide_do_suspend(hwif);
> + rc = pmac_ide_do_suspend(pmif);
> if (rc == 0)
> pdev->dev.power.power_state = mesg;
> }
> @@ -1333,7 +1333,7 @@ pmac_ide_pci_resume(struct pci_dev *pdev)
> int rc = 0;
>
> if (pdev->dev.power.power_state.event != PM_EVENT_ON) {
> - rc = pmac_ide_do_resume(hwif);
> + rc = pmac_ide_do_resume(pmif);
> if (rc == 0)
> pdev->dev.power.power_state = PMSG_ON;
> }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-06-16 3:55 ` Benjamin Herrenschmidt
@ 2008-06-16 9:54 ` Bartlomiej Zolnierkiewicz
2008-06-16 19:24 ` Bartlomiej Zolnierkiewicz
2008-06-16 22:40 ` Benjamin Herrenschmidt
0 siblings, 2 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-06-16 9:54 UTC (permalink / raw)
To: benh; +Cc: Stephen Rothwell, linux-next
Hi,
On Monday 16 June 2008, Benjamin Herrenschmidt wrote:
> On Mon, 2008-06-16 at 13:38 +1000, Stephen Rothwell wrote:
> > Hi Bart,
> >
> > Today's linux-next build (powerpc ppc64_defconfig) failed like this:
> >
> > drivers/ide/ppc/pmac.c: In function 'pmac_ide_cable_detect':
> > drivers/ide/ppc/pmac.c:926: error: implicit declaration of function 'drv_get_drvdata'
> > drivers/ide/ppc/pmac.c:926: warning: cast to pointer from integer of different size
> > drivers/ide/ppc/pmac.c: In function 'pmac_ide_init_dev':
> > drivers/ide/ppc/pmac.c:950: warning: cast to pointer from integer of different size
> > drivers/ide/ppc/pmac.c: In function 'pmac_ide_setup_device':
> > drivers/ide/ppc/pmac.c:1082: error: request for member 'irq' in something not a structure or union
> > drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_suspend':
> > drivers/ide/ppc/pmac.c:1321: error: 'hwif' undeclared (first use in this function)
> > drivers/ide/ppc/pmac.c:1321: error: (Each undeclared identifier is reported only once
> > drivers/ide/ppc/pmac.c:1321: error: for each function it appears in.)
> > drivers/ide/ppc/pmac.c:1316: warning: unused variable 'pmif'
> > drivers/ide/ppc/pmac.c: In function 'pmac_ide_pci_resume':
> > drivers/ide/ppc/pmac.c:1336: error: 'hwif' undeclared (first use in this function)
> > drivers/ide/ppc/pmac.c:1332: warning: unused variable 'pmif'
> >
> > I applied the patch below ... (which clearly needs work)
>
> Bart, I hadn't managed to review / test your new patches yet, but
> please, avoid putting anything touching the pmac stuff in your
> "next" tree until it's been fully acked by me. Stuff in linux-next
I must admit that I rushed things this time and I'm sorry for that.
[ However it may be connected with the fact that recently I've been
waiting for _weeks_ for your feedback (sometimes to not get _any_). ]
> is stuff that is supposed to be -ready to be merged- upstream. Those
> patches definitely are not.
1 of 7 patches posted (3 were bugfixes, including regression bugfix)
had an obvious build problems and I indeed should have audited it
properly (the patch is still conceptually good and I need it in for
patches that will be posted for review / testing this week) so this
is an uncalled generalization.
[ I could be of course wrong and there may be real problems with other
patches as well so please do review / test. Thanks! ]
PS Stephen, thanks for fixing the build problems.
Bart
> Thanks !
>
> Ben.
>
> > --
> > Cheers,
> > Stephen Rothwell sfr@canb.auug.org.au
> > http://www.canb.auug.org.au/~sfr/
> >
> > >From e23339391c5e18a12f2c5d51ca5032df92d9d978 Mon Sep 17 00:00:00 2001
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Mon, 16 Jun 2008 13:35:36 +1000
> > Subject: [PATCH] ide pmac fixes 1
> >
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > ---
> > drivers/ide/ppc/pmac.c | 16 ++++++++--------
> > 1 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c
> > index 0671fb8..363bc4e 100644
> > --- a/drivers/ide/ppc/pmac.c
> > +++ b/drivers/ide/ppc/pmac.c
> > @@ -923,7 +923,7 @@ static int pmac_ide_do_resume(pmac_ide_hwif_t *pmif)
> > static u8 pmac_ide_cable_detect(ide_hwif_t *hwif)
> > {
> > pmac_ide_hwif_t *pmif =
> > - (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
> > + (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
> > struct device_node *np = pmif->node;
> > const char *cable = of_get_property(np, "cable-type", NULL);
> >
> > @@ -947,7 +947,7 @@ static void pmac_ide_init_dev(ide_drive_t *drive)
> > {
> > ide_hwif_t *hwif = drive->hwif;
> > pmac_ide_hwif_t *pmif =
> > - (pmac_ide_hwif_t *)drv_get_drvdata(hwif->gendev.parent);
> > + (pmac_ide_hwif_t *)dev_get_drvdata(hwif->gendev.parent);
> >
> > if (pmif->mediabay) {
> > #ifdef CONFIG_PMAC_MEDIABAY
> > @@ -1076,10 +1076,10 @@ static int __devinit pmac_ide_setup_device(pmac_ide_hwif_t *pmif, hw_regs_t *hw)
> > msleep(jiffies_to_msecs(IDE_WAKEUP_DELAY));
> > }
> >
> > - printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
> > - "bus ID %d%s, irq %d\n", model_name[pmif->kind],
> > - pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
> > - pmif->mediabay ? " (mediabay)" : "", hw.irq);
> > +// printk(KERN_INFO DRV_NAME ": Found Apple %s controller (%s), "
> > +// "bus ID %d%s, irq %d\n", model_name[pmif->kind],
> > +// pmif->mdev ? "MacIO" : "PCI", pmif->aapl_bus_id,
> > +// pmif->mediabay ? " (mediabay)" : "", hw.irq);
> >
> > hwif = ide_find_port_slot(&d);
> > if (hwif == NULL)
> > @@ -1318,7 +1318,7 @@ pmac_ide_pci_suspend(struct pci_dev *pdev, pm_message_t mesg)
> >
> > if (mesg.event != pdev->dev.power.power_state.event
> > && (mesg.event & PM_EVENT_SLEEP)) {
> > - rc = pmac_ide_do_suspend(hwif);
> > + rc = pmac_ide_do_suspend(pmif);
> > if (rc == 0)
> > pdev->dev.power.power_state = mesg;
> > }
> > @@ -1333,7 +1333,7 @@ pmac_ide_pci_resume(struct pci_dev *pdev)
> > int rc = 0;
> >
> > if (pdev->dev.power.power_state.event != PM_EVENT_ON) {
> > - rc = pmac_ide_do_resume(hwif);
> > + rc = pmac_ide_do_resume(pmif);
> > if (rc == 0)
> > pdev->dev.power.power_state = PMSG_ON;
> > }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-06-16 9:54 ` Bartlomiej Zolnierkiewicz
@ 2008-06-16 19:24 ` Bartlomiej Zolnierkiewicz
2008-06-16 22:40 ` Benjamin Herrenschmidt
1 sibling, 0 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-06-16 19:24 UTC (permalink / raw)
To: benh; +Cc: Stephen Rothwell, linux-next
On Monday 16 June 2008, Bartlomiej Zolnierkiewicz wrote:
[...]
> [ I could be of course wrong and there may be real problems with other
> patches as well so please do review / test. Thanks! ]
>
> PS Stephen, thanks for fixing the build problems.
Upon closer look these build problems were present in 3 patches (fixed
patches posted in separate mails) so indeed it wasn't up to the usual
standard (lets call it a warning sign that I need to slow down a bit).
I dropped these ide-pmac patches for now from IDE tree (just to be on
a safe side and also to give Ben sensible amount of time to review+test
the changes).
Thanks,
Bart
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-06-16 9:54 ` Bartlomiej Zolnierkiewicz
2008-06-16 19:24 ` Bartlomiej Zolnierkiewicz
@ 2008-06-16 22:40 ` Benjamin Herrenschmidt
2008-06-17 9:53 ` Bartlomiej Zolnierkiewicz
1 sibling, 1 reply; 9+ messages in thread
From: Benjamin Herrenschmidt @ 2008-06-16 22:40 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: Stephen Rothwell, linux-next
> [ However it may be connected with the fact that recently I've been
> waiting for _weeks_ for your feedback (sometimes to not get _any_). ]
Yeah well, I'm a bit swamped, and drivers/ide as far as I'm concerned
is supposed to be stable and in maintainance mode, not in active
developement :-) Oh well, anyway, I will try to review your patches
more promptly. Keep in mind that properly testing changes to the
pmac IDE driver however does require me to dig various kind of ancient
HW (such as my half broken Wallstreet powerbook with its mediabay)
and so is fairly time consuming.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: ide build failure
2008-06-16 22:40 ` Benjamin Herrenschmidt
@ 2008-06-17 9:53 ` Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; 9+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-06-17 9:53 UTC (permalink / raw)
To: benh; +Cc: Stephen Rothwell, linux-next
On Tuesday 17 June 2008, Benjamin Herrenschmidt wrote:
>
> > [ However it may be connected with the fact that recently I've been
> > waiting for _weeks_ for your feedback (sometimes to not get _any_). ]
>
> Yeah well, I'm a bit swamped, and drivers/ide as far as I'm concerned
> is supposed to be stable and in maintainance mode, not in active
> developement :-) Oh well, anyway, I will try to review your patches
> more promptly. Keep in mind that properly testing changes to the
> pmac IDE driver however does require me to dig various kind of ancient
> HW (such as my half broken Wallstreet powerbook with its mediabay)
> and so is fairly time consuming.
Thanks.
[ I don't envision a lot of ide-pmac changes in the future because
the driver should be now in line with other host drivers. ]
Bart
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-06-17 9:52 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-16 3:38 linux-next: ide build failure Stephen Rothwell
2008-06-16 3:55 ` Benjamin Herrenschmidt
2008-06-16 9:54 ` Bartlomiej Zolnierkiewicz
2008-06-16 19:24 ` Bartlomiej Zolnierkiewicz
2008-06-16 22:40 ` Benjamin Herrenschmidt
2008-06-17 9:53 ` Bartlomiej Zolnierkiewicz
-- strict thread matches above, loose matches on Subject: below --
2008-05-30 1:54 Stephen Rothwell
2008-05-31 13:38 ` Bartlomiej Zolnierkiewicz
2008-06-01 2:05 ` Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).