Alguém me pode ajudar a traduzir as seguintes alterações para a forma de ficheiro patch?é que fazer tudo a mão cada vez que sai um omnislash novo da muito trabalho:
Editar o source do kernel
Ficheiros a editar libata-core.c, libata-eh.c and libata.h
libata-core.c
Procurar
module_param_named(noacpi, libata_noacpi, int, 0444);
MODULE_PARM_DESC(noacpi, "Disables the use of ACPI in probe/suspend/resume
when set");
logo abaixo adicionar
int libata_force_cbl = 0;
module_param_named(force_cbl, libata_force_cbl, int, 0644);
MODULE_PARM_DESC(force_cbl, "force PATA cable type (0=keep, 40=40c, 80=80c)");
Procurar
if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
/* UDMA/44 or higher would be available */
if ((ap->cbl == ATA_CBL_PATA40) ||
(ata_is_40wire(dev) &&
(ap->cbl == ATA_CBL_PATA_UNK ||
ap->cbl == ATA_CBL_PATA80))) {
ata_dev_printk(dev, KERN_WARNING,
"limited to UDMA/33 due to 40-wire cable\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
}
Remover e substituir por
if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA)) {
switch (libata_force_cbl) {
case 40:
/* limit to UDMA/33 */
ata_dev_printk(dev, KERN_INFO, "forcing 40c\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
break;
case 80:
/* ignore cable checks */
ata_dev_printk(dev, KERN_INFO, "forcing 80c\n");
break;
default:
/* UDMA/44 or higher would be available */
if ((ap->cbl == ATA_CBL_PATA40) ||
(ata_is_40wire(dev) &&
(ap->cbl == ATA_CBL_PATA_UNK ||
ap->cbl == ATA_CBL_PATA80))) {
ata_dev_printk(dev, KERN_WARNING,
"limited to UDMA/33 due to 40-wire cable\n");
xfer_mask &= ~(0xF8 << ATA_SHIFT_UDMA);
}
}
}
libata-eh.c
Procurar
(ehc->i.flags & ATA_EHI_DID_RESET))
Remover e substituir por
(ehc->i.flags & ATA_EHI_DID_RESET)) {
ap->cbl = ap->ops->cable_detect(ap);
if (!(ap->flags & ATA_FLAG_SATA) && libata_force_cbl) {
switch (libata_force_cbl) {
case 40:
ata_port_printk(ap, KERN_INFO, "forcing 40c\n");
ap->cbl = ATA_CBL_PATA40;
break;
case 80:
ata_port_printk(ap, KERN_INFO, "forcing 80c\n");
ap->cbl = ATA_CBL_PATA80;
break;
default:
ata_port_printk(ap, KERN_WARNING,
"invalid force_cbl value %d\n",
libata_force_cbl);
}
}
}
libata.h
Procurar
extern int libata_noacpi;
logo abaixo adicionar
extern int libata_force_cbl;