18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 1994-1996 Linus Torvalds & authors 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/* Copyright(c) 1996 Kars de Jong */ 78c2ecf20Sopenharmony_ci/* Based on the ide driver from 1.2.13pl8 */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci/* 108c2ecf20Sopenharmony_ci * Credits (alphabetical): 118c2ecf20Sopenharmony_ci * 128c2ecf20Sopenharmony_ci * - Bjoern Brauel 138c2ecf20Sopenharmony_ci * - Kars de Jong 148c2ecf20Sopenharmony_ci * - Torsten Ebeling 158c2ecf20Sopenharmony_ci * - Dwight Engen 168c2ecf20Sopenharmony_ci * - Thorsten Floeck 178c2ecf20Sopenharmony_ci * - Roman Hodek 188c2ecf20Sopenharmony_ci * - Guenther Kelleter 198c2ecf20Sopenharmony_ci * - Chris Lawrence 208c2ecf20Sopenharmony_ci * - Michael Rausch 218c2ecf20Sopenharmony_ci * - Christian Sauer 228c2ecf20Sopenharmony_ci * - Michael Schmitz 238c2ecf20Sopenharmony_ci * - Jes Soerensen 248c2ecf20Sopenharmony_ci * - Michael Thurm 258c2ecf20Sopenharmony_ci * - Geert Uytterhoeven 268c2ecf20Sopenharmony_ci */ 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#ifndef _M68K_IDE_H 298c2ecf20Sopenharmony_ci#define _M68K_IDE_H 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci#ifdef __KERNEL__ 328c2ecf20Sopenharmony_ci#include <asm/setup.h> 338c2ecf20Sopenharmony_ci#include <asm/io.h> 348c2ecf20Sopenharmony_ci#include <asm/irq.h> 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci#ifdef CONFIG_MMU 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci/* 398c2ecf20Sopenharmony_ci * Get rid of defs from io.h - ide has its private and conflicting versions 408c2ecf20Sopenharmony_ci * Since so far no single m68k platform uses ISA/PCI I/O space for IDE, we 418c2ecf20Sopenharmony_ci * always use the `raw' MMIO versions 428c2ecf20Sopenharmony_ci */ 438c2ecf20Sopenharmony_ci#undef readb 448c2ecf20Sopenharmony_ci#undef readw 458c2ecf20Sopenharmony_ci#undef writeb 468c2ecf20Sopenharmony_ci#undef writew 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#define readb in_8 498c2ecf20Sopenharmony_ci#define readw in_be16 508c2ecf20Sopenharmony_ci#define __ide_mm_insw(port, addr, n) raw_insw((u16 *)port, addr, n) 518c2ecf20Sopenharmony_ci#define __ide_mm_insl(port, addr, n) raw_insl((u32 *)port, addr, n) 528c2ecf20Sopenharmony_ci#define writeb(val, port) out_8(port, val) 538c2ecf20Sopenharmony_ci#define writew(val, port) out_be16(port, val) 548c2ecf20Sopenharmony_ci#define __ide_mm_outsw(port, addr, n) raw_outsw((u16 *)port, addr, n) 558c2ecf20Sopenharmony_ci#define __ide_mm_outsl(port, addr, n) raw_outsl((u32 *)port, addr, n) 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci#else 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci#define __ide_mm_insw(port, addr, n) io_insw((unsigned int)port, addr, n) 608c2ecf20Sopenharmony_ci#define __ide_mm_insl(port, addr, n) io_insl((unsigned int)port, addr, n) 618c2ecf20Sopenharmony_ci#define __ide_mm_outsw(port, addr, n) io_outsw((unsigned int)port, addr, n) 628c2ecf20Sopenharmony_ci#define __ide_mm_outsl(port, addr, n) io_outsl((unsigned int)port, addr, n) 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci#endif /* CONFIG_MMU */ 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci#endif /* __KERNEL__ */ 678c2ecf20Sopenharmony_ci#endif /* _M68K_IDE_H */ 68