<дел><дел>

Введение¶

libATA – это библиотека, используемая в конкретном ядре Linux для поддержки хостов ATA.Контроллеры и просто устройства. libATA предоставляет специальный API драйвера ATA Golf, классТранспорты для устройств ATA и ATAPI в сочетании с трансляцией scsi<->ata для ATAУстройства, соответствующие спецификации T10 SAT.

В этом руководстве приводится API драйвера libATA, причины библиотеки, библиотекаПример внутреннего расположения вместе с connectalias для низкоуровневых драйверов ATA.

<дел>

API драйвера Libata¶

Структура ata_port_operationsопределено для любого низкоуровневого libataаппаратный гонщик и управляет взаимодействием, исходящим от всего этого низкоуровневого драйверас ATA так же, как слои scsi.

Драйверы на основе FIS на самом деле монтируются в вашей системе с помощью ->qc_prep() и->qc_issue() Квадратные скобки высокого уровня. Аппаратное обеспечение, которое работает потрясающеПодобно аппаратному обеспечению PCI IDE, вероятно, обычно будет несколько общих помощников,Установите для фантомных домашних адресов ввода-вывода ATA разумный объем шины.Сохраняйте блоки.

<дел>

struct ATA Ata_port_operations

<дел>

Отключить порт¶

<дел>

void (*port_disable) (struct ata_port *);

Вызывается просто по ошибке ata_bus_probe(), если говорить правду, т.е. запрещатьКомпонент SCSI (rmmod, горячее отключение). пока этой функции должно хватитьвсе, что вам нужно сделать, если вы хотите удалить порт, чтобы вы могли его использовать. В большинстве случаев,ata_port_disable() может найтись как этот хук.

Вызывается методом ata_bus_probe(), когда возникает тревожная ошибка. Флажки при сбое проверки. называетсяata_scsi_release().