Re: [PATCH 5/10] hpt366: remove ->init_setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux