Discussion:
[PATCH can] peak_pci: add PCI ID definition pcie card variant
Oliver Hartkopp
2014-09-16 08:05:41 UTC
Permalink
Add PCI ID definition for the single channel PCAN ExpressCard 34 adapter.
Due to the subsystem id evaluation the correct number of channels (here 1)
is created at initialization time. Tested including the LED functionality.

Signed-off-by: Oliver Hartkopp <***@hartkopp.net>
CC: Stephane Grosjean <***@peak-system.com>

---

Hi Marc,

as this is 'just a PCI ID definition' this patch should go into Daves
net-tree for 3.17-rc upstream. The USB guys do it the same as there is no
risk of breaking other peoples work at that stage.

Tnx,
Oliver



diff --git a/drivers/net/can/sja1000/peak_pci.c b/drivers/net/can/sja1000/peak_pci.c
index 7a85590..e5fac36 100644
--- a/drivers/net/can/sja1000/peak_pci.c
+++ b/drivers/net/can/sja1000/peak_pci.c
@@ -70,6 +70,8 @@ struct peak_pci_chan {
#define PEAK_PC_104P_DEVICE_ID 0x0006 /* PCAN-PC/104+ cards */
#define PEAK_PCI_104E_DEVICE_ID 0x0007 /* PCAN-PCI/104 Express cards */
#define PEAK_MPCIE_DEVICE_ID 0x0008 /* The miniPCIe slot cards */
+#define PEAK_PCIE_OEM_ID 0x0009 /* PCAN-PCI Express OEM */
+#define PEAK_PCIEC34_DEVICE_ID 0x000A /* PCAN-PCI Express 34 (one channel) */

#define PEAK_PCI_CHAN_MAX 4

@@ -87,6 +89,7 @@ static const struct pci_device_id peak_pci_tbl[] = {
{PEAK_PCI_VENDOR_ID, PEAK_CPCI_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,},
#ifdef CONFIG_CAN_PEAK_PCIEC
{PEAK_PCI_VENDOR_ID, PEAK_PCIEC_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,},
+ {PEAK_PCI_VENDOR_ID, PEAK_PCIEC34_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,},
#endif
{0,}
};
@@ -653,7 +656,8 @@ static int peak_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* This must be done *before* register_sja1000dev() but
* *after* devices linkage
*/
- if (pdev->device == PEAK_PCIEC_DEVICE_ID) {
+ if (pdev->device == PEAK_PCIEC_DEVICE_ID ||
+ pdev->device == PEAK_PCIEC34_DEVICE_ID) {
err = peak_pciec_probe(pdev, dev);
if (err) {
dev_err(&pdev->dev,



--
To unsubscribe from this list: send the line "unsubscribe linux-can" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Stephane Grosjean
2014-09-16 13:05:18 UTC
Permalink
Hi Oliver,

You've got my Acked-by, many thanks for having handled that !
Add PCI ID definition for the single channel PCAN ExpressCard 34 adap=
ter.
Due to the subsystem id evaluation the correct number of channels (he=
re 1)
is created at initialization time. Tested including the LED functiona=
lity.
---
Hi Marc,
as this is 'just a PCI ID definition' this patch should go into Daves
net-tree for 3.17-rc upstream. The USB guys do it the same as there i=
s no
risk of breaking other peoples work at that stage.
Tnx,
Oliver
diff --git a/drivers/net/can/sja1000/peak_pci.c b/drivers/net/can/sja=
1000/peak_pci.c
index 7a85590..e5fac36 100644
--- a/drivers/net/can/sja1000/peak_pci.c
+++ b/drivers/net/can/sja1000/peak_pci.c
@@ -70,6 +70,8 @@ struct peak_pci_chan {
#define PEAK_PC_104P_DEVICE_ID 0x0006 /* PCAN-PC/104+ cards */
#define PEAK_PCI_104E_DEVICE_ID 0x0007 /* PCAN-PCI/104 Express card=
s */
#define PEAK_MPCIE_DEVICE_ID 0x0008 /* The miniPCIe slot cards */
+#define PEAK_PCIE_OEM_ID 0x0009 /* PCAN-PCI Express OEM */
+#define PEAK_PCIEC34_DEVICE_ID 0x000A /* PCAN-PCI Express 34 (one ch=
annel) */
=20
#define PEAK_PCI_CHAN_MAX 4
=20
@@ -87,6 +89,7 @@ static const struct pci_device_id peak_pci_tbl[] =3D=
{
{PEAK_PCI_VENDOR_ID, PEAK_CPCI_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,}=
,
#ifdef CONFIG_CAN_PEAK_PCIEC
{PEAK_PCI_VENDOR_ID, PEAK_PCIEC_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,=
},
+ {PEAK_PCI_VENDOR_ID, PEAK_PCIEC34_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID=
,},
#endif
{0,}
};
@@ -653,7 +656,8 @@ static int peak_pci_probe(struct pci_dev *pdev, c=
onst struct pci_device_id *ent)
* This must be done *before* register_sja1000dev() but
* *after* devices linkage
*/
- if (pdev->device =3D=3D PEAK_PCIEC_DEVICE_ID) {
+ if (pdev->device =3D=3D PEAK_PCIEC_DEVICE_ID ||
+ pdev->device =3D=3D PEAK_PCIEC34_DEVICE_ID) {
err =3D peak_pciec_probe(pdev, dev);
if (err) {
dev_err(&pdev->dev,
--
PEAK-System Technik GmbH, Otto-Roehm-Strasse 69, D-64293 Darmstadt=20
Geschaeftsleitung: A.Gach/U.Wilhelm,St.Nr.:007/241/13586 FA Darmstadt=20
HRB-9183 Darmstadt, Ust.IdNr.:DE 202220078, WEE-Reg.-Nr.: DE39305391=20
Tel.+49 (0)6151-817320 / Fax:+49 (0)6151-817329, ***@peak-system.com
--
--
To unsubscribe from this list: send the line "unsubscribe linux-can" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Oliver Hartkopp
2014-09-16 13:50:04 UTC
Permalink
Hi Stephane,
Post by Stephane Grosjean
You've got my Acked-by, many thanks for having handled that !
That's the advantage when providing readable code :-)

The adapter works pretty good - even the PCI hotplug stuff and the LED.

Thanks & best regards,
Oliver
Post by Stephane Grosjean
=20
Add PCI ID definition for the single channel PCAN ExpressCard 34 ada=
pter.
Post by Stephane Grosjean
Due to the subsystem id evaluation the correct number of channels (h=
ere 1)
Post by Stephane Grosjean
is created at initialization time. Tested including the LED function=
ality.
--
To unsubscribe from this list: send the line "unsubscribe linux-can" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Marc Kleine-Budde
2014-09-16 14:01:14 UTC
Permalink
Post by Oliver Hartkopp
Add PCI ID definition for the single channel PCAN ExpressCard 34 adapter.
Due to the subsystem id evaluation the correct number of channels (here 1)
is created at initialization time. Tested including the LED functionality.
Applied to can.

Thnx,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Loading...