• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/ide/

Lines Matching refs:hwif

48 	ide_hwif_t			*hwif;
132 * ide_acpi_hwif_get_handle - Get ACPI object handle for a given hwif
133 * @hwif: device to locate
135 * Retrieves the object handle for a given hwif.
139 static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif)
141 struct device *dev = hwif->gendev.parent;
147 DEBPRINT("ENTER: device %s\n", hwif->name);
150 DEBPRINT("no PCI device for %s\n", hwif->name);
162 /* channel is hwif->channel */
163 chan_handle = acpi_get_child(dev_handle, hwif->channel);
165 hwif->channel, chan_handle);
175 * spec the drive is a child of the hwif.
181 ide_hwif_t *hwif = HWIF(drive);
185 if (!hwif->acpidata)
188 if (!hwif->acpidata->obj_handle)
191 port = hwif->channel ? drive->dn - 2: drive->dn;
194 drive->name, hwif->channel, port);
198 drive_handle = acpi_get_child(hwif->acpidata->obj_handle, port);
226 ide_hwif_t *hwif = HWIF(drive);
227 struct device *dev = hwif->gendev.parent;
239 DEBPRINT("no PCI device for %s\n", hwif->name);
243 if (!hwif->acpidata) {
244 DEBPRINT("no ACPI data for %s\n", hwif->name);
248 port = hwif->channel ? drive->dn - 2: drive->dn;
252 drive->acpidata = &hwif->acpidata->master;
253 hwif->acpidata->master.drive = drive;
255 drive->acpidata = &hwif->acpidata->slave;
256 hwif->acpidata->slave.drive = drive;
261 hwif->name, dev->bus_id, port, hwif->channel);
265 hwif->name, hwif->channel, port);
476 * @hwif: target IDE interface (channel)
481 void ide_acpi_get_timing(ide_hwif_t *hwif)
492 if (!hwif->acpidata) {
493 DEBPRINT("no ACPI data for %s\n", hwif->name);
502 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_GTM",
542 memcpy(&hwif->acpidata->gtm, out_obj->buffer.pointer,
550 hwif->acpidata->gtm.PIO_speed0,
551 hwif->acpidata->gtm.DMA_speed0,
552 hwif->acpidata->gtm.PIO_speed1,
553 hwif->acpidata->gtm.DMA_speed1,
554 hwif->acpidata->gtm.GTM_flags);
562 * @hwif: target IDE interface (channel)
570 void ide_acpi_push_timing(ide_hwif_t *hwif)
575 struct ide_acpi_drive_link *master = &hwif->acpidata->master;
576 struct ide_acpi_drive_link *slave = &hwif->acpidata->slave;
583 if (!hwif->acpidata) {
584 DEBPRINT("no ACPI data for %s\n", hwif->name);
595 in_params[0].buffer.pointer = (u8 *)&hwif->acpidata->gtm;
604 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_STM",
616 * @hwif: target IDE interface (channel)
625 void ide_acpi_init(ide_hwif_t *hwif)
632 hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL);
633 if (!hwif->acpidata)
636 hwif->acpidata->obj_handle = ide_acpi_hwif_get_handle(hwif);
637 if (!hwif->acpidata->obj_handle) {
638 DEBPRINT("no ACPI object for %s found\n", hwif->name);
639 kfree(hwif->acpidata);
640 hwif->acpidata = NULL;
649 hwif->acpidata->master.drive = &hwif->drives[0];
650 hwif->drives[0].acpidata = &hwif->acpidata->master;
651 master = &hwif->acpidata->master;
653 hwif->acpidata->slave.drive = &hwif->drives[1];
654 hwif->drives[1].acpidata = &hwif->acpidata->slave;
655 slave = &hwif->acpidata->slave;
685 ide_acpi_get_timing(hwif);
686 ide_acpi_push_timing(hwif);
689 ide_drive_t *drive = &hwif->drives[unit];