---
name: "ata_host_activate"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/ata_host_activate"
---

# ata\_host\_activate(9)

start host, request IRQ and register it

## NAME

ata\_host\_activate - start host, request IRQ and register it

## SYNOPSIS

**int ata\_host\_activate(struct ata\_host \*** *host***, int** *irq***, irq\_handler\_t** *irq\_handler***, unsigned long** *irq\_flags***, struct scsi\_host\_template \*** *sht***);**

## ARGUMENTS

*host*

target ATA host

*irq*

IRQ to request

*irq\_handler*

irq\_handler used when requesting IRQ

*irq\_flags*

irq\_flags used when requesting IRQ

*sht*

scsi\_host\_template to use when registering the host

## DESCRIPTION

After allocating an ATA host and initializing it, most libata LLDs perform three steps to activate the host - start host, request IRQ and register it. This helper takes necessary arguments and performs the three steps in one go.

An invalid IRQ skips the IRQ registration and expects the host to have set polling mode on the port. In this case, *irq\_handler* should be NULL.

LOCKING: Inherited from calling layer (may sleep).

## RETURN

0 on success, -errno otherwise.

## AUTHOR

**Jeff Garzik**

Author.

## COPYRIGHT
