On Saturday 08 September 2007, Sergei Shtylyov wrote:
> Bartlomiej Zolnierkiewicz wrote:
> 
> > * Split off hpt{374,371,366}_init() helper from 
> > init_setup_hpt{374,371,366}().
> 
> > * Merge init_setup_{374,372n,371,372a,302,366}() into hpt366_init_one().
> 
> > While at it:
> 
> > * Use "HPT36x" name for HPT366/HPT368 chipsets.
> 
> > * Add .chip_name to struct hpt_info and use it to set set d->name.
> 
> > * Convert .max_ultra in struct hpt_info to .udma_mask and use it to set
> >   d->udma_mask.
> 
> > * Fix hpt302 to use HPT302_ALLOW_ATA133_6 define.
> 
>     I haven't found that change...

 static struct hpt_info hpt302 __devinitdata = {
+       .chip_name      = "HPT302",
        .chip_type      = HPT302,
-       .max_ultra      = HPT372_ALLOW_ATA133_6 ? 6 : 5,
+       .udma_mask      = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
        .dpll_clk       = 66,
        .settings       = hpt37x_settings
 };

> > * Change HPT366/HPT374 interrupt fixup message from KERN_WARNING to 
> > KERN_INFO.
> 
> > * Use the second hpt366_chipsets[] entry for HPT37x chipsets using HPT36x 
> > PCI
> >   device ID and fix .enablebits/.host_flags for HPT36x hpt366_chipsets[] 
> > entry.
> 
>     Well, if you're ruining my nearly perfect desigh...

I was just adjusting hpt366 for ->init_setup removal, the other changes
happened by the way... 8)

> > * Bump driver version.
> 
>     ... it's worth to label it 1.20. :-)

updated

> > +   d = hpt366_chipsets[idx];
> > +
> > +   d.name = /info->chip_name;
> > +   d.udma_mask = info->udma_mask;
> > +
> > +   pci_set_drvdata(dev, info);
> > +
> > +   if (info == &hpt36x || info == &hpt374)
> > +           dev2 = pci_get_slot(dev->bus, dev->devfn + 1);
> > +
> > +   if (dev2) {
> > +           int ret;
> > +
> > +           pci_set_drvdata(dev2, info);
> > +
> > +           if (info == &hpt374)
> > +                   hpt374_init(dev, dev2);
> > +           else {
> > +                   if (hpt36x_init(dev, dev2))
> > +                           d.host_flags |= IDE_HFLAG_BOOTABLE;
> > +           }
> > +
> > +           ret = ide_setup_pci_devices(dev, dev2, &d);
> > +           if (ret < 0)
> > +                   pci_dev_put(dev2);
> > +           return ret;
> > +   }
> >  
> > -   return d.init_setup(dev, &d);
> > +   return ide_setup_pci_device(dev, &d);
> >  }
> 
>     NAK the patch because it's breaking the HPT374 code. Those chips are 
> *signle* function, and sit in perfect copule (and why I alsway mistype in 
> this 
> word :o) on 2 DEVSELs behind i960.

Please explain - there shouldn't be any behavior change for HPT374 caused
by this patch.

Could it be that HPT374 code was already buggy

+static void __devinit hpt374_init(struct pci_dev *dev, struct pci_dev *dev2)
 {
-       struct pci_dev *dev2;
-
-       if (PCI_FUNC(dev->devfn) & 1)
-               return -ENODEV;
-
-       pci_set_drvdata(dev, &hpt374);
-
-       if ((dev2 = pci_get_slot(dev->bus, dev->devfn + 1)) != NULL) {
-               int ret;
-

?

Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to