.. | .. |
---|
78 | 78 | |
---|
79 | 79 | /* atari specific timer functions (in time.c) */ |
---|
80 | 80 | extern void atari_sched_init(irq_handler_t); |
---|
81 | | -extern u32 atari_gettimeoffset(void); |
---|
82 | 81 | extern int atari_mste_hwclk (int, struct rtc_time *); |
---|
83 | 82 | extern int atari_tt_hwclk (int, struct rtc_time *); |
---|
84 | 83 | |
---|
.. | .. |
---|
148 | 147 | /* Parse the Atari-specific switches= option. */ |
---|
149 | 148 | static int __init atari_switches_setup(char *str) |
---|
150 | 149 | { |
---|
151 | | - char switches[strlen(str) + 1]; |
---|
| 150 | + char switches[COMMAND_LINE_SIZE]; |
---|
152 | 151 | char *p; |
---|
153 | 152 | int ovsc_shift; |
---|
154 | 153 | char *args = switches; |
---|
.. | .. |
---|
205 | 204 | mach_init_IRQ = atari_init_IRQ; |
---|
206 | 205 | mach_get_model = atari_get_model; |
---|
207 | 206 | mach_get_hardware_list = atari_get_hardware_list; |
---|
208 | | - arch_gettimeoffset = atari_gettimeoffset; |
---|
209 | 207 | mach_reset = atari_reset; |
---|
210 | 208 | mach_max_dma_address = 0xffffff; |
---|
211 | 209 | #if IS_ENABLED(CONFIG_INPUT_M68K_BEEP) |
---|
.. | .. |
---|
248 | 246 | } else if (hwreg_present(tt_palette)) { |
---|
249 | 247 | ATARIHW_SET(TT_SHIFTER); |
---|
250 | 248 | pr_cont(" TT_SHIFTER"); |
---|
251 | | - } else if (hwreg_present(&shifter.bas_hi)) { |
---|
252 | | - if (hwreg_present(&shifter.bas_lo) && |
---|
253 | | - (shifter.bas_lo = 0x0aau, shifter.bas_lo == 0x0aau)) { |
---|
| 249 | + } else if (hwreg_present(&shifter_st.bas_hi)) { |
---|
| 250 | + if (hwreg_present(&shifter_st.bas_lo) && |
---|
| 251 | + (shifter_st.bas_lo = 0x0aau, shifter_st.bas_lo == 0x0aau)) { |
---|
254 | 252 | ATARIHW_SET(EXTD_SHIFTER); |
---|
255 | 253 | pr_cont(" EXTD_SHIFTER"); |
---|
256 | 254 | } else { |
---|
.. | .. |
---|
871 | 869 | }; |
---|
872 | 870 | #endif |
---|
873 | 871 | |
---|
| 872 | +/* |
---|
| 873 | + * Falcon IDE interface |
---|
| 874 | + */ |
---|
| 875 | + |
---|
| 876 | +#define FALCON_IDE_BASE 0xfff00000 |
---|
| 877 | + |
---|
| 878 | +static const struct resource atari_falconide_rsrc[] __initconst = { |
---|
| 879 | + { |
---|
| 880 | + .flags = IORESOURCE_MEM, |
---|
| 881 | + .start = FALCON_IDE_BASE, |
---|
| 882 | + .end = FALCON_IDE_BASE + 0x39, |
---|
| 883 | + }, |
---|
| 884 | + { |
---|
| 885 | + .flags = IORESOURCE_IRQ, |
---|
| 886 | + .start = IRQ_MFP_FSCSI, |
---|
| 887 | + .end = IRQ_MFP_FSCSI, |
---|
| 888 | + }, |
---|
| 889 | +}; |
---|
| 890 | + |
---|
874 | 891 | int __init atari_platform_init(void) |
---|
875 | 892 | { |
---|
| 893 | + struct platform_device *pdev; |
---|
876 | 894 | int rv = 0; |
---|
877 | 895 | |
---|
878 | 896 | if (!MACH_IS_ATARI) |
---|
.. | .. |
---|
914 | 932 | atari_scsi_tt_rsrc, ARRAY_SIZE(atari_scsi_tt_rsrc)); |
---|
915 | 933 | #endif |
---|
916 | 934 | |
---|
| 935 | + if (ATARIHW_PRESENT(IDE)) { |
---|
| 936 | + pdev = platform_device_register_simple("atari-falcon-ide", -1, |
---|
| 937 | + atari_falconide_rsrc, ARRAY_SIZE(atari_falconide_rsrc)); |
---|
| 938 | + if (IS_ERR(pdev)) |
---|
| 939 | + rv = PTR_ERR(pdev); |
---|
| 940 | + } |
---|
| 941 | + |
---|
917 | 942 | return rv; |
---|
918 | 943 | } |
---|
919 | 944 | |
---|