summaryrefslogtreecommitdiff
path: root/firmware/drivers/ata.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/ata.c')
-rw-r--r--firmware/drivers/ata.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c
index 7d37d051c9..2cdd67482a 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -201,6 +201,7 @@ static int perform_soft_reset(void);
201static int set_multiple_mode(int sectors); 201static int set_multiple_mode(int sectors);
202static int set_features(void); 202static int set_features(void);
203 203
204#ifndef ATA_TARGET_POLLING
204STATICIRAM ICODE_ATTR int wait_for_bsy(void) 205STATICIRAM ICODE_ATTR int wait_for_bsy(void)
205{ 206{
206 long timeout = current_tick + HZ*30; 207 long timeout = current_tick + HZ*30;
@@ -235,6 +236,12 @@ STATICIRAM ICODE_ATTR int wait_for_rdy(void)
235 236
236 return 0; /* timeout */ 237 return 0; /* timeout */
237} 238}
239#else
240extern int ata_wait_for_bsy(void);
241extern int ata_wait_for_rdy(void);
242#define wait_for_bsy ata_wait_for_bsy
243#define wait_for_rdy ata_wait_for_rdy
244#endif
238 245
239STATICIRAM ICODE_ATTR int wait_for_start_of_transfer(void) 246STATICIRAM ICODE_ATTR int wait_for_start_of_transfer(void)
240{ 247{