ixp4xx-npe.c (9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e) | ixp4xx-npe.c (a25e745c752a0aa197296c0a6405255f19813b4b) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Intel IXP4xx Network Processor Engine driver for Linux 4 * 5 * Copyright (C) 2007 Krzysztof Halasa <khc@pm.waw.pl> 6 * 7 * The code is based on publicly available information: 8 * - Intel IXP4xx Developer's Manual and other e-papers --- 722 unchanged lines hidden (view full) --- 731 732 /* Spawn crypto subdevice if using device tree */ 733 if (IS_ENABLED(CONFIG_OF) && np) 734 devm_of_platform_populate(dev); 735 736 return 0; 737} 738 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Intel IXP4xx Network Processor Engine driver for Linux 4 * 5 * Copyright (C) 2007 Krzysztof Halasa <khc@pm.waw.pl> 6 * 7 * The code is based on publicly available information: 8 * - Intel IXP4xx Developer's Manual and other e-papers --- 722 unchanged lines hidden (view full) --- 731 732 /* Spawn crypto subdevice if using device tree */ 733 if (IS_ENABLED(CONFIG_OF) && np) 734 devm_of_platform_populate(dev); 735 736 return 0; 737} 738 |
739static int ixp4xx_npe_remove(struct platform_device *pdev) | 739static void ixp4xx_npe_remove(struct platform_device *pdev) |
740{ 741 int i; 742 743 for (i = 0; i < NPE_COUNT; i++) 744 if (npe_tab[i].regs) { 745 npe_reset(&npe_tab[i]); 746 } | 740{ 741 int i; 742 743 for (i = 0; i < NPE_COUNT; i++) 744 if (npe_tab[i].regs) { 745 npe_reset(&npe_tab[i]); 746 } |
747 748 return 0; | |
749} 750 751static const struct of_device_id ixp4xx_npe_of_match[] = { 752 { 753 .compatible = "intel,ixp4xx-network-processing-engine", 754 }, 755 {}, 756}; 757 758static struct platform_driver ixp4xx_npe_driver = { 759 .driver = { 760 .name = "ixp4xx-npe", 761 .of_match_table = ixp4xx_npe_of_match, 762 }, 763 .probe = ixp4xx_npe_probe, | 747} 748 749static const struct of_device_id ixp4xx_npe_of_match[] = { 750 { 751 .compatible = "intel,ixp4xx-network-processing-engine", 752 }, 753 {}, 754}; 755 756static struct platform_driver ixp4xx_npe_driver = { 757 .driver = { 758 .name = "ixp4xx-npe", 759 .of_match_table = ixp4xx_npe_of_match, 760 }, 761 .probe = ixp4xx_npe_probe, |
764 .remove = ixp4xx_npe_remove, | 762 .remove_new = ixp4xx_npe_remove, |
765}; 766module_platform_driver(ixp4xx_npe_driver); 767 768MODULE_AUTHOR("Krzysztof Halasa"); 769MODULE_LICENSE("GPL v2"); 770MODULE_FIRMWARE(NPE_A_FIRMWARE); 771MODULE_FIRMWARE(NPE_B_FIRMWARE); 772MODULE_FIRMWARE(NPE_C_FIRMWARE); 773 774EXPORT_SYMBOL(npe_names); 775EXPORT_SYMBOL(npe_running); 776EXPORT_SYMBOL(npe_request); 777EXPORT_SYMBOL(npe_release); 778EXPORT_SYMBOL(npe_load_firmware); 779EXPORT_SYMBOL(npe_send_message); 780EXPORT_SYMBOL(npe_recv_message); 781EXPORT_SYMBOL(npe_send_recv_message); | 763}; 764module_platform_driver(ixp4xx_npe_driver); 765 766MODULE_AUTHOR("Krzysztof Halasa"); 767MODULE_LICENSE("GPL v2"); 768MODULE_FIRMWARE(NPE_A_FIRMWARE); 769MODULE_FIRMWARE(NPE_B_FIRMWARE); 770MODULE_FIRMWARE(NPE_C_FIRMWARE); 771 772EXPORT_SYMBOL(npe_names); 773EXPORT_SYMBOL(npe_running); 774EXPORT_SYMBOL(npe_request); 775EXPORT_SYMBOL(npe_release); 776EXPORT_SYMBOL(npe_load_firmware); 777EXPORT_SYMBOL(npe_send_message); 778EXPORT_SYMBOL(npe_recv_message); 779EXPORT_SYMBOL(npe_send_recv_message); |