History

mmc: sdio: Move SDIO IDs from ath6kl driver to common include file

Also replace generic MANUFACTURER macros by proper SDIO IDs macros. Check for "AR6003 or later" is slightly modified to use SDIO device IDs. This allows removal of all custom MANUFACTURER macros from ath6kl.

Pali Rohár committed 6 years ago

Commit ecc2f391 parent b8c26a93 files · +18 −15Browse files

Unified · Split

3 files
  1. drivers/net/wireless/ath/ath6kl/hif.h +0 −6
  2. drivers/net/wireless/ath/ath6kl/sdio.c +8 −9
  3. include/linux/mmc/sdio_ids.h +10 −0
drivers/net/wireless/ath/ath6kl/hif.h+0−6
@@ -35,12 +35,6 @@ · 34 unmodified lines
3535 #define MAX_SCATTER_ENTRIES_PER_REQ 16
3636 #define MAX_SCATTER_REQ_TRANSFER_SIZE (32 * 1024)
3737
38−#define MANUFACTURER_ID_AR6003_BASE 0x300
39−#define MANUFACTURER_ID_AR6004_BASE 0x400
40− /* SDIO manufacturer ID and Codes */
41−#define MANUFACTURER_ID_ATH6KL_BASE_MASK 0xFF00
42−#define MANUFACTURER_CODE 0x271 /* Atheros */
43−
4438 /* Mailbox address in SDIO address space */
4539 #define HIF_MBOX_BASE_ADDR 0x800
4640 #define HIF_MBOX_WIDTH 0x800
drivers/net/wireless/ath/ath6kl/sdio.c+8−9
@@ -799,8 +799,7 @@ static int ath6kl_sdio_config(struct ath6kl *ar) · 798 unmodified lines
799799
800800 sdio_claim_host(func);
801801
802− if ((ar_sdio->id->device & MANUFACTURER_ID_ATH6KL_BASE_MASK) >=
803− MANUFACTURER_ID_AR6003_BASE) {
802+ if (ar_sdio->id->device >= SDIO_DEVICE_ID_ATHEROS_AR6003_00) {
804803 /* enable 4-bit ASYNC interrupt on AR6003 or later */
805804 ret = ath6kl_sdio_func0_cmd52_wr_byte(func->card,
806805 CCCR_SDIO_IRQ_MODE_REG,
@@ -1409,13 +1408,13 @@ static void ath6kl_sdio_remove(struct sdio_func *func) · 602 unmodified lines
14091408 }
14101409
14111410 static const struct sdio_device_id ath6kl_sdio_devices[] = {
1412− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6003_BASE | 0x0))},
1413− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6003_BASE | 0x1))},
1414− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x0))},
1415− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x1))},
1416− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x2))},
1417− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x18))},
1418− {SDIO_DEVICE(MANUFACTURER_CODE, (MANUFACTURER_ID_AR6004_BASE | 0x19))},
1411+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6003_00)},
1412+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6003_01)},
1413+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6004_00)},
1414+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6004_01)},
1415+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6004_02)},
1416+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6004_18)},
1417+ {SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6004_19)},
14191418 {},
14201419 };
14211420
include/linux/mmc/sdio_ids.h+10−0
@@ -24,6 +24,16 @@ · 23 unmodified lines
2424 /*
2525 * Vendors and devices. Sort key: vendor first, device next.
2626 */
27+
28+#define SDIO_VENDOR_ID_ATHEROS 0x0271
29+#define SDIO_DEVICE_ID_ATHEROS_AR6003_00 0x0300
30+#define SDIO_DEVICE_ID_ATHEROS_AR6003_01 0x0301
31+#define SDIO_DEVICE_ID_ATHEROS_AR6004_00 0x0400
32+#define SDIO_DEVICE_ID_ATHEROS_AR6004_01 0x0401
33+#define SDIO_DEVICE_ID_ATHEROS_AR6004_02 0x0402
34+#define SDIO_DEVICE_ID_ATHEROS_AR6004_18 0x0418
35+#define SDIO_DEVICE_ID_ATHEROS_AR6004_19 0x0419
36+
2737 #define SDIO_VENDOR_ID_BROADCOM 0x02d0
2838 #define SDIO_DEVICE_ID_BROADCOM_43143 0xa887
2939 #define SDIO_DEVICE_ID_BROADCOM_43241 0x4324