Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa741030 authored by Samuel Ortiz's avatar Samuel Ortiz
Browse files

NFC: pn544: Separate the core code and the i2c one into different modules



As we may need to support other physical layers, we can avoid linking the
core part into each and every pn544 module.

Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent bf71ab8b
Loading
Loading
Loading
Loading
+2 −13
Original line number Diff line number Diff line
@@ -5,19 +5,6 @@
menu "Near Field Communication (NFC) devices"
	depends on NFC

config PN544_HCI_NFC
	tristate "HCI PN544 NFC driver"
	depends on I2C && NFC_HCI && NFC_SHDLC
	select CRC_CCITT
	default n
	---help---
	  NXP PN544 i2c driver.
	  This is a driver based on the SHDLC and HCI NFC kernel layers and
	  will thus not work with NXP libnfc library.

	  To compile this driver as a module, choose m here. The module will
	  be called pn544_hci.

config NFC_PN533
	tristate "NXP PN533 USB driver"
	depends on USB
@@ -39,4 +26,6 @@ config NFC_WILINK
	  Say Y here to compile support for Texas Instrument's NFC WiLink driver
	  into the kernel or say M to compile it as module.

source "drivers/nfc/pn544/Kconfig"

endmenu
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
# Makefile for nfc devices
#

obj-$(CONFIG_PN544_HCI_NFC)	+= pn544/
obj-$(CONFIG_NFC_PN544)		+= pn544/
obj-$(CONFIG_NFC_PN533)		+= pn533.o
obj-$(CONFIG_NFC_WILINK)	+= nfcwilink.o

+23 −0
Original line number Diff line number Diff line
config NFC_PN544
	tristate "NXP PN544 NFC driver"
	depends on NFC_HCI
	select CRC_CCITT
	default n
	---help---
	  NXP PN544 core driver.
	  This is a driver based on the HCI NFC kernel layers and
	  will thus not work with NXP libnfc library.

	  To compile this driver as a module, choose m here. The module will
	  be called pn544.
	  Say N if unsure.

config NFC_PN544_I2C
	tristate "NFC PN544 i2c support"
	depends on NFC_PN544 && I2C && NFC_SHDLC
	---help---
	  This module adds support for the NXP pn544 i2c interface.
	  Select this if your platform is using the i2c bus.

	  If you choose to build a module, it'll be called pn544_i2c.
	  Say N if unsure.
 No newline at end of file
+3 −2
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
# Makefile for PN544 HCI based NFC driver
#

obj-$(CONFIG_PN544_HCI_NFC)	+= pn544_i2c.o
pn544_i2c-objs  = i2c.o

pn544_i2c-y		:= pn544.o i2c.o
obj-$(CONFIG_NFC_PN544)     += pn544.o
obj-$(CONFIG_NFC_PN544_I2C) += pn544_i2c.o
+6 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/module.h>

#include <linux/nfc.h>
#include <net/nfc/hci.h>
@@ -862,6 +863,7 @@ err_alloc_hdev:
err_info_alloc:
	return r;
}
EXPORT_SYMBOL(pn544_hci_probe);

void pn544_hci_remove(struct nfc_hci_dev *hdev)
{
@@ -871,3 +873,7 @@ void pn544_hci_remove(struct nfc_hci_dev *hdev)
	nfc_hci_free_device(hdev);
	kfree(info);
}
EXPORT_SYMBOL(pn544_hci_remove);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION(DRIVER_DESC);