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