Skip to content

Commit 4dc28c9

Browse files
palistorulf
authored andcommitted
mmc: sdio: Move SDIO IDs from ath10k driver to common include file
Also replace generic MANUFACTURER macros by proper SDIO IDs macros. Checks for device IDs are slightly modified to use SDIO device IDs. This allows removal of all custom MANUFACTURER macros from ath10k. Signed-off-by: Pali Rohár <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
1 parent ecc2f39 commit 4dc28c9

File tree

3 files changed

+12
-23
lines changed

3 files changed

+12
-23
lines changed

drivers/net/wireless/ath/ath10k/sdio.c

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,10 +1083,10 @@ static void ath10k_sdio_set_mbox_info(struct ath10k *ar)
10831083

10841084
mbox_info->ext_info[0].htc_ext_addr = ATH10K_HIF_MBOX0_EXT_BASE_ADDR;
10851085

1086-
dev_id_base = FIELD_GET(QCA_MANUFACTURER_ID_BASE, device);
1087-
dev_id_chiprev = FIELD_GET(QCA_MANUFACTURER_ID_REV_MASK, device);
1086+
dev_id_base = (device & 0x0F00);
1087+
dev_id_chiprev = (device & 0x00FF);
10881088
switch (dev_id_base) {
1089-
case QCA_MANUFACTURER_ID_AR6005_BASE:
1089+
case (SDIO_DEVICE_ID_ATHEROS_AR6005 & 0x0F00):
10901090
if (dev_id_chiprev < 4)
10911091
mbox_info->ext_info[0].htc_ext_sz =
10921092
ATH10K_HIF_MBOX0_EXT_WIDTH;
@@ -1097,7 +1097,7 @@ static void ath10k_sdio_set_mbox_info(struct ath10k *ar)
10971097
mbox_info->ext_info[0].htc_ext_sz =
10981098
ATH10K_HIF_MBOX0_EXT_WIDTH_ROME_2_0;
10991099
break;
1100-
case QCA_MANUFACTURER_ID_QCA9377_BASE:
1100+
case (SDIO_DEVICE_ID_ATHEROS_QCA9377 & 0x0F00):
11011101
mbox_info->ext_info[0].htc_ext_sz =
11021102
ATH10K_HIF_MBOX0_EXT_WIDTH_ROME_2_0;
11031103
break;
@@ -2185,19 +2185,16 @@ static int ath10k_sdio_probe(struct sdio_func *func,
21852185
skb_queue_head_init(&ar_sdio->rx_head);
21862186
INIT_WORK(&ar_sdio->async_work_rx, ath10k_rx_indication_async_work);
21872187

2188-
dev_id_base = FIELD_GET(QCA_MANUFACTURER_ID_BASE, id->device);
2189-
switch (dev_id_base) {
2190-
case QCA_MANUFACTURER_ID_AR6005_BASE:
2191-
case QCA_MANUFACTURER_ID_QCA9377_BASE:
2192-
ar->dev_id = QCA9377_1_0_DEVICE_ID;
2193-
break;
2194-
default:
2188+
dev_id_base = (id->device & 0x0F00);
2189+
if (dev_id_base != (SDIO_DEVICE_ID_ATHEROS_AR6005 & 0x0F00) &&
2190+
dev_id_base != (SDIO_DEVICE_ID_ATHEROS_QCA9377 & 0x0F00)) {
21952191
ret = -ENODEV;
21962192
ath10k_err(ar, "unsupported device id %u (0x%x)\n",
21972193
dev_id_base, id->device);
21982194
goto err_free_wq;
21992195
}
22002196

2197+
ar->dev_id = QCA9377_1_0_DEVICE_ID;
22012198
ar->id.vendor = id->vendor;
22022199
ar->id.device = id->device;
22032200

@@ -2246,10 +2243,8 @@ static void ath10k_sdio_remove(struct sdio_func *func)
22462243
}
22472244

22482245
static const struct sdio_device_id ath10k_sdio_devices[] = {
2249-
{SDIO_DEVICE(QCA_MANUFACTURER_CODE,
2250-
(QCA_SDIO_ID_AR6005_BASE | 0xA))},
2251-
{SDIO_DEVICE(QCA_MANUFACTURER_CODE,
2252-
(QCA_SDIO_ID_QCA9377_BASE | 0x1))},
2246+
{SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_AR6005)},
2247+
{SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_QCA9377)},
22532248
{},
22542249
};
22552250

drivers/net/wireless/ath/ath10k/sdio.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,6 @@
1010

1111
#define ATH10K_HIF_MBOX_BLOCK_SIZE 256
1212

13-
#define QCA_MANUFACTURER_ID_BASE GENMASK(11, 8)
14-
#define QCA_MANUFACTURER_ID_AR6005_BASE 0x5
15-
#define QCA_MANUFACTURER_ID_QCA9377_BASE 0x7
16-
#define QCA_SDIO_ID_AR6005_BASE 0x500
17-
#define QCA_SDIO_ID_QCA9377_BASE 0x700
18-
#define QCA_MANUFACTURER_ID_REV_MASK 0x00FF
19-
#define QCA_MANUFACTURER_CODE 0x271 /* Qualcomm/Atheros */
20-
2113
#define ATH10K_SDIO_MAX_BUFFER_SIZE 4096 /*Unsure of this constant*/
2214

2315
/* Mailbox address in SDIO address space */

include/linux/mmc/sdio_ids.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
#define SDIO_DEVICE_ID_ATHEROS_AR6004_02 0x0402
3434
#define SDIO_DEVICE_ID_ATHEROS_AR6004_18 0x0418
3535
#define SDIO_DEVICE_ID_ATHEROS_AR6004_19 0x0419
36+
#define SDIO_DEVICE_ID_ATHEROS_AR6005 0x050A
37+
#define SDIO_DEVICE_ID_ATHEROS_QCA9377 0x0701
3638

3739
#define SDIO_VENDOR_ID_BROADCOM 0x02d0
3840
#define SDIO_DEVICE_ID_BROADCOM_43143 0xa887

0 commit comments

Comments
 (0)