lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200802072151.49510.bzolnier@gmail.com>
Date:	Thu, 7 Feb 2008 21:51:49 +0100
From:	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
To:	"Sergei Shtylyov" <sshtylyov@...mvista.com>
Cc:	linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org,
	"Anton Salnikov" <asalnikov@...mvista.com>
Subject: Re: [PATCH 3/3] palm_bk3710: factor out cable detection

On Thursday 07 February 2008, Bartlomiej Zolnierkiewicz wrote:
> On Feb 7, 2008 3:41 PM, Sergei Shtylyov <sshtylyov@...mvista.com> wrote:
> > Bartlomiej Zolnierkiewicz wrote:
> >
> > > Factor out cable detection to palm_bk3710_cable_detect().
> >
> > > Cc: Anton Salnikov <asalnikov@...mvista.com>
> > > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
> >
> > > Index: b/drivers/ide/arm/palm_bk3710.c
> > > ===================================================================
> > > --- a/drivers/ide/arm/palm_bk3710.c
> > > +++ b/drivers/ide/arm/palm_bk3710.c
> > > @@ -311,6 +311,12 @@ static void __devinit palm_bk3710_chipin
> > >       palm_bk3710_setpiomode(base, NULL, 0, 600, 0);
> > >       palm_bk3710_setpiomode(base, NULL, 1, 600, 0);
> > >  }
> > > +
> > > +static u8 __devinit palm_bk3710_cable_detect(ide_hwif_t *hwif)
> > > +{
> > > +     return ATA_CBL_PATA80;
> > > +}
> > > +
> > >  static int __devinit palm_bk3710_probe(struct platform_device *pdev)
> > >  {
> > >       struct clk *clkp;
> > > @@ -381,7 +387,7 @@ static int __devinit palm_bk3710_probe(s
> > >       hwif->set_dma_mode = &palm_bk3710_set_dma_mode;
> > >       hwif->mmio = 1;
> > >       default_hwif_mmiops(hwif);
> > > -     hwif->cbl = ATA_CBL_PATA80;
> > > +     hwif->cbl = palm_bk3710_cable_detect(hwif);
> > >       hwif->ultra_mask = 0x1f;        /* Ultra DMA Mode 4 Max
> > >                                               (input clk 99MHz) */
> > >       hwif->mwdma_mask = 0x7;
> >
> >     Hm, how does it help if you don't make it into driver's method? :-O
> 
> This was meant to be a preparation before converting palm_bk3710 to
> use struct ide_port_info.  On the second thought this change may be as
> well integrated into the future patch (which I'll try to cook later
> today, unless somebody beats me to it ;-).

From: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
Subject: [PATCH] palm_bk3710: use struct ide_port_info

* Factor out cable detection to palm_bk3710_cable_detect().

* Add palm_bk3710_init_hwif() (->init_hwif method implementation).

* Remove needless ->quirkproc initialization.

* Add missing ->pio_mask initialization.

* Use ATA_* defines for setting ->{ultra,mwdma}_mask.

* Add 'struct ide_port_info palm_bk3710_port_info' and pass it to
  ide_device_add().  Then remove open-coded 'hwif' initialization.

Cc: Anton Salnikov <asalnikov@...mvista.com>
Cc: Sergei Shtylyov <sshtylyov@...mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
---
 drivers/ide/arm/palm_bk3710.c |   33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)

Index: b/drivers/ide/arm/palm_bk3710.c
===================================================================
--- a/drivers/ide/arm/palm_bk3710.c
+++ b/drivers/ide/arm/palm_bk3710.c
@@ -311,6 +311,28 @@ static void __devinit palm_bk3710_chipin
 	palm_bk3710_setpiomode(base, NULL, 0, 600, 0);
 	palm_bk3710_setpiomode(base, NULL, 1, 600, 0);
 }
+
+static u8 __devinit palm_bk3710_cable_detect(ide_hwif_t *hwif)
+{
+	return ATA_CBL_PATA80;
+}
+
+static void __devinit palm_bk3710_init_hwif(ide_hwif_t *hwif)
+{
+	hwif->set_pio_mode = palm_bk3710_set_pio_mode;
+	hwif->set_dma_mode = palm_bk3710_set_dma_mode;
+
+	hwif->cable_detect = palm_bk3710_cable_detect;
+}
+
+static const struct ide_port_info __devinitdata palm_bk3710_port_info = {
+	.init_hwif		= palm_bk3710_init_hwif,
+	.host_flags		= IDE_HFLAG_NO_DMA, /* hack (no PCI) */
+	.pio_mask		= ATA_PIO4,
+	.udma_mask		= ATA_UDMA4,	/* (input clk 99MHz) */
+	.mwdma_mask		= ATA_MWDMA2,
+};
+
 static int __devinit palm_bk3710_probe(struct platform_device *pdev)
 {
 	struct clk *clkp;
@@ -368,24 +390,15 @@ static int __devinit palm_bk3710_probe(s
 		ide_init_port_data(hwif, i);
 
 	ide_init_port_hw(hwif, &hw);
-	hwif->quirkproc = NULL;
 
-	hwif->set_pio_mode = &palm_bk3710_set_pio_mode;
-	hwif->set_dma_mode = &palm_bk3710_set_dma_mode;
 	hwif->mmio = 1;
 	default_hwif_mmiops(hwif);
-	hwif->cbl = ATA_CBL_PATA80;
-	hwif->ultra_mask = 0x1f;	/* Ultra DMA Mode 4 Max
-						(input clk 99MHz) */
-	hwif->mwdma_mask = 0x7;
-	hwif->drives[0].autotune = 1;
-	hwif->drives[1].autotune = 1;
 
 	ide_setup_dma(hwif, mem->start);
 
 	idx[0] = i;
 
-	ide_device_add(idx, NULL);
+	ide_device_add(idx, &palm_bk3710_port_info);
 
 	if (!hwif->present)
 		goto out;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ