mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
Merge tag 'nfc-net-next-20260611' of https://codeberg.org/linux-nfc/linux
David Heidelberg says: ==================== NFC updates for net-next 20260611 - nxp-nci: Add ISO15693 support - nxp-nci: treat -ENXIO in IRQ thread as no data available - nci: uart: Constify struct tty_ldisc_ops - trf7970a: fix comment typos - Use named initializers for struct i2c_device_id - MAINTAINERS: Update address for David Heidelberg * tag 'nfc-net-next-20260611' of https://codeberg.org/linux-nfc/linux: MAINTAINERS: Update address for David Heidelberg nfc: Use named initializers for struct i2c_device_id nfc: nxp-nci: treat -ENXIO in IRQ thread as no data available nfc: nxp-nci: Add ISO15693 support nfc: nci: uart: Constify struct tty_ldisc_ops nfc: trf7970a: fix comment typos ==================== Link: https://patch.msgid.link/1aed7555-3d24-413c-b284-bc85fdd33055@ixit.cz Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -18886,7 +18886,7 @@ F: drivers/net/net_failover.c
|
||||
F: include/net/net_failover.h
|
||||
|
||||
NFC SUBSYSTEM
|
||||
M: David Heidelberg <david+nfc@ixit.cz>
|
||||
M: David Heidelberg <david@ixit.cz>
|
||||
L: oe-linux-nfc@lists.linux.dev
|
||||
S: Maintained
|
||||
T: git https://codeberg.org/linux-nfc/linux.git
|
||||
|
||||
@@ -276,7 +276,7 @@ static void microread_i2c_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id microread_i2c_id[] = {
|
||||
{ MICROREAD_I2C_DRIVER_NAME },
|
||||
{ .name = MICROREAD_I2C_DRIVER_NAME },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, microread_i2c_id);
|
||||
|
||||
@@ -252,8 +252,8 @@ static const struct of_device_id of_nfcmrvl_i2c_match[] __maybe_unused = {
|
||||
MODULE_DEVICE_TABLE(of, of_nfcmrvl_i2c_match);
|
||||
|
||||
static const struct i2c_device_id nfcmrvl_i2c_id_table[] = {
|
||||
{ "nfcmrvl_i2c" },
|
||||
{}
|
||||
{ .name = "nfcmrvl_i2c" },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, nfcmrvl_i2c_id_table);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
NFC_PROTO_FELICA_MASK | \
|
||||
NFC_PROTO_ISO14443_MASK | \
|
||||
NFC_PROTO_ISO14443_B_MASK | \
|
||||
NFC_PROTO_ISO15693_MASK | \
|
||||
NFC_PROTO_NFC_DEP_MASK)
|
||||
|
||||
#define NXP_NCI_RF_PLL_UNLOCKED_NTF nci_opcode_pack(NCI_GID_RF_MGMT, 0x21)
|
||||
|
||||
@@ -231,6 +231,14 @@ static irqreturn_t nxp_nci_i2c_irq_thread_fn(int irq, void *phy_id)
|
||||
if (info->mode == NXP_NCI_MODE_FW)
|
||||
nxp_nci_fw_recv_frame(phy->ndev, NULL);
|
||||
}
|
||||
if (r == -ENXIO) {
|
||||
/*
|
||||
* -ENXIO may occur if the controller has not yet
|
||||
* provided data after asserting IRQ.
|
||||
*/
|
||||
dev_dbg(&client->dev, "No data available yet\n");
|
||||
goto exit_irq_handled;
|
||||
}
|
||||
if (r < 0) {
|
||||
nfc_err(&client->dev, "Read failed with error %d\n", r);
|
||||
goto exit_irq_handled;
|
||||
@@ -341,8 +349,8 @@ static void nxp_nci_i2c_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id nxp_nci_i2c_id_table[] = {
|
||||
{ "nxp-nci_i2c" },
|
||||
{}
|
||||
{ .name = "nxp-nci_i2c" },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, nxp_nci_i2c_id_table);
|
||||
|
||||
|
||||
@@ -249,8 +249,8 @@ static const struct of_device_id of_pn533_i2c_match[] __maybe_unused = {
|
||||
MODULE_DEVICE_TABLE(of, of_pn533_i2c_match);
|
||||
|
||||
static const struct i2c_device_id pn533_i2c_id_table[] = {
|
||||
{ PN533_I2C_DRIVER_NAME },
|
||||
{}
|
||||
{ .name = PN533_I2C_DRIVER_NAME },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, pn533_i2c_id_table);
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@
|
||||
PN544_HCI_I2C_LLC_MAX_PAYLOAD)
|
||||
|
||||
static const struct i2c_device_id pn544_hci_i2c_id_table[] = {
|
||||
{ "pn544" },
|
||||
{}
|
||||
{ .name = "pn544" },
|
||||
{ }
|
||||
};
|
||||
|
||||
MODULE_DEVICE_TABLE(i2c, pn544_hci_i2c_id_table);
|
||||
|
||||
@@ -205,8 +205,8 @@ static void s3fwrn5_i2c_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id s3fwrn5_i2c_id_table[] = {
|
||||
{ S3FWRN5_I2C_DRIVER_NAME },
|
||||
{}
|
||||
{ .name = S3FWRN5_I2C_DRIVER_NAME },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, s3fwrn5_i2c_id_table);
|
||||
|
||||
|
||||
@@ -257,8 +257,8 @@ static void st_nci_i2c_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id st_nci_i2c_id_table[] = {
|
||||
{ ST_NCI_DRIVER_NAME },
|
||||
{}
|
||||
{ .name = ST_NCI_DRIVER_NAME },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, st_nci_i2c_id_table);
|
||||
|
||||
|
||||
@@ -572,8 +572,8 @@ static void st21nfca_hci_i2c_remove(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id st21nfca_hci_i2c_id_table[] = {
|
||||
{ ST21NFCA_HCI_DRIVER_NAME },
|
||||
{}
|
||||
{ .name = ST21NFCA_HCI_DRIVER_NAME },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, st21nfca_hci_i2c_id_table);
|
||||
|
||||
|
||||
@@ -61,15 +61,15 @@
|
||||
* support that. So, if an abort is received before trf7970a_send_cmd()
|
||||
* has sent the command to the tag, it simply returns -ECANCELED. If the
|
||||
* command has already been sent to the tag, then the driver continues
|
||||
* normally and recieves the response data (or error) but just before
|
||||
* normally and receives the response data (or error) but just before
|
||||
* sending the data upstream, it frees the rx_skb and sends -ECANCELED
|
||||
* upstream instead. If the command failed, that error will be sent
|
||||
* upstream.
|
||||
*
|
||||
* When recieving data from a tag and the interrupt status register has
|
||||
* When receiving data from a tag and the interrupt status register has
|
||||
* only the SRX bit set, it means that all of the data has been received
|
||||
* (once what's in the fifo has been read). However, depending on timing
|
||||
* an interrupt status with only the SRX bit set may not be recived. In
|
||||
* an interrupt status with only the SRX bit set may not be received. In
|
||||
* those cases, the timeout mechanism is used to wait 20 ms in case more
|
||||
* data arrives. After 20 ms, it is assumed that all of the data has been
|
||||
* received and the accumulated rx data is sent upstream. The
|
||||
|
||||
@@ -421,7 +421,7 @@ void nci_uart_set_config(struct nci_uart *nu, int baudrate, int flow_ctrl)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nci_uart_set_config);
|
||||
|
||||
static struct tty_ldisc_ops nci_uart_ldisc = {
|
||||
static const struct tty_ldisc_ops nci_uart_ldisc = {
|
||||
.owner = THIS_MODULE,
|
||||
.num = N_NCI,
|
||||
.name = "n_nci",
|
||||
|
||||
Reference in New Issue
Block a user