Re: [PATCH net-next] net: phy: marvell: add LED support for 88E1116R PHY

From: kernel test robot

Date: Fri Oct 09 2026 - 16:56:59 EST


Hi Konstantin,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Konstantin-Meshkov/net-phy-marvell-add-LED-support-for-88E1116R-PHY/20261009-090829
base: net-next/main
patch link: https://lore.kernel.org/r/179152610952.2918676.6625057760354797023%40mail.ru
patch subject: [PATCH net-next] net: phy: marvell: add LED support for 88E1116R PHY
config: arm-defconfig (https://download.01.org/0day-ci/archive/20261010/202610100452.oJWOdesg-lkp@xxxxxxxxx/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 242243a5814307de825db3428662d67b064e2cbc)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261010/202610100452.oJWOdesg-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610100452.oJWOdesg-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/net/phy/marvell.c:3916:23: error: use of undeclared identifier 'm88e1318_led_polarity_set'; did you mean 'm88e1318_led_blink_set'?
3916 | .led_polarity_set = m88e1318_led_polarity_set,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| m88e1318_led_blink_set
drivers/net/phy/marvell.c:3293:12: note: 'm88e1318_led_blink_set' declared here
3293 | static int m88e1318_led_blink_set(struct phy_device *phydev, u8 index,
| ^
>> drivers/net/phy/marvell.c:3916:23: error: incompatible function pointer types initializing 'int (*)(struct phy_device *, int, unsigned long)' with an expression of type 'int (struct phy_device *, u8, unsigned long *, unsigned long *)' (aka 'int (struct phy_device *, unsigned char, unsigned long *, unsigned long *)') [-Wincompatible-function-pointer-types]
3916 | .led_polarity_set = m88e1318_led_polarity_set,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.


vim +3916 drivers/net/phy/marvell.c

3666
3667 static struct phy_driver marvell_drivers[] = {
3668 {
3669 .phy_id = MARVELL_PHY_ID_88E1101,
3670 .phy_id_mask = MARVELL_PHY_ID_MASK,
3671 .name = "Marvell 88E1101",
3672 /* PHY_GBIT_FEATURES */
3673 .probe = marvell_probe,
3674 .config_init = marvell_config_init,
3675 .config_aneg = m88e1101_config_aneg,
3676 .config_intr = marvell_config_intr,
3677 .handle_interrupt = marvell_handle_interrupt,
3678 .resume = genphy_resume,
3679 .suspend = genphy_suspend,
3680 .read_page = marvell_read_page,
3681 .write_page = marvell_write_page,
3682 .get_sset_count = marvell_get_sset_count,
3683 .get_strings = marvell_get_strings,
3684 .get_stats = marvell_get_stats,
3685 },
3686 {
3687 .phy_id = MARVELL_PHY_ID_88E3082,
3688 .phy_id_mask = MARVELL_PHY_ID_MASK,
3689 .name = "Marvell 88E308X/88E609X Family",
3690 /* PHY_BASIC_FEATURES */
3691 .probe = marvell_probe,
3692 .config_init = marvell_config_init,
3693 .aneg_done = marvell_aneg_done,
3694 .read_status = marvell_read_status,
3695 .resume = genphy_resume,
3696 .suspend = genphy_suspend,
3697 .cable_test_start = m88e3082_vct_cable_test_start,
3698 .cable_test_get_status = m88e3082_vct_cable_test_get_status,
3699 },
3700 {
3701 .phy_id = MARVELL_PHY_ID_88E1112,
3702 .phy_id_mask = MARVELL_PHY_ID_MASK,
3703 .name = "Marvell 88E1112",
3704 /* PHY_GBIT_FEATURES */
3705 .probe = marvell_probe,
3706 .inband_caps = m88e1111_inband_caps,
3707 .config_inband = m88e1111_config_inband,
3708 .config_init = m88e1112_config_init,
3709 .config_aneg = marvell_config_aneg,
3710 .config_intr = marvell_config_intr,
3711 .handle_interrupt = marvell_handle_interrupt,
3712 .resume = genphy_resume,
3713 .suspend = genphy_suspend,
3714 .read_page = marvell_read_page,
3715 .write_page = marvell_write_page,
3716 .get_sset_count = marvell_get_sset_count,
3717 .get_strings = marvell_get_strings,
3718 .get_stats = marvell_get_stats,
3719 .get_tunable = m88e1011_get_tunable,
3720 .set_tunable = m88e1011_set_tunable,
3721 },
3722 {
3723 .phy_id = MARVELL_PHY_ID_88E1111,
3724 .phy_id_mask = MARVELL_PHY_ID_MASK,
3725 .name = "Marvell 88E1111",
3726 /* PHY_GBIT_FEATURES */
3727 .flags = PHY_POLL_CABLE_TEST,
3728 .probe = marvell_probe,
3729 .inband_caps = m88e1111_inband_caps,
3730 .config_inband = m88e1111_config_inband,
3731 .config_init = m88e1111gbe_config_init,
3732 .config_aneg = m88e1111_config_aneg,
3733 .read_status = marvell_read_status,
3734 .config_intr = marvell_config_intr,
3735 .handle_interrupt = marvell_handle_interrupt,
3736 .resume = genphy_resume,
3737 .suspend = genphy_suspend,
3738 .read_page = marvell_read_page,
3739 .write_page = marvell_write_page,
3740 .get_sset_count = marvell_get_sset_count,
3741 .get_strings = marvell_get_strings,
3742 .get_stats = marvell_get_stats,
3743 .get_tunable = m88e1111_get_tunable,
3744 .set_tunable = m88e1111_set_tunable,
3745 .cable_test_start = m88e1111_vct_cable_test_start,
3746 .cable_test_get_status = m88e1111_vct_cable_test_get_status,
3747 },
3748 {
3749 .phy_id = MARVELL_PHY_ID_88E1111_FINISAR,
3750 .phy_id_mask = MARVELL_PHY_ID_MASK,
3751 .name = "Marvell 88E1111 (Finisar)",
3752 /* PHY_GBIT_FEATURES */
3753 .probe = marvell_probe,
3754 .inband_caps = m88e1111_inband_caps,
3755 .config_inband = m88e1111_config_inband,
3756 .config_init = m88e1111gbe_config_init,
3757 .config_aneg = m88e1111_config_aneg,
3758 .read_status = marvell_read_status,
3759 .config_intr = marvell_config_intr,
3760 .handle_interrupt = marvell_handle_interrupt,
3761 .resume = genphy_resume,
3762 .suspend = genphy_suspend,
3763 .read_page = marvell_read_page,
3764 .write_page = marvell_write_page,
3765 .get_sset_count = marvell_get_sset_count,
3766 .get_strings = marvell_get_strings,
3767 .get_stats = marvell_get_stats,
3768 .get_tunable = m88e1111_get_tunable,
3769 .set_tunable = m88e1111_set_tunable,
3770 },
3771 {
3772 .phy_id = MARVELL_PHY_ID_88E1118,
3773 .phy_id_mask = MARVELL_PHY_ID_MASK,
3774 .name = "Marvell 88E1118",
3775 /* PHY_GBIT_FEATURES */
3776 .probe = marvell_probe,
3777 .config_init = m88e1118_config_init,
3778 .config_aneg = m88e1118_config_aneg,
3779 .config_intr = marvell_config_intr,
3780 .handle_interrupt = marvell_handle_interrupt,
3781 .resume = genphy_resume,
3782 .suspend = genphy_suspend,
3783 .read_page = marvell_read_page,
3784 .write_page = marvell_write_page,
3785 .get_sset_count = marvell_get_sset_count,
3786 .get_strings = marvell_get_strings,
3787 .get_stats = marvell_get_stats,
3788 },
3789 {
3790 .phy_id = MARVELL_PHY_ID_88E1121R,
3791 .phy_id_mask = MARVELL_PHY_ID_MASK,
3792 .name = "Marvell 88E1121R",
3793 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1121_hwmon_ops),
3794 /* PHY_GBIT_FEATURES */
3795 .probe = marvell_probe,
3796 .config_init = marvell_1011gbe_config_init,
3797 .config_aneg = m88e1121_config_aneg,
3798 .read_status = marvell_read_status,
3799 .config_intr = marvell_config_intr,
3800 .handle_interrupt = marvell_handle_interrupt,
3801 .resume = genphy_resume,
3802 .suspend = genphy_suspend,
3803 .read_page = marvell_read_page,
3804 .write_page = marvell_write_page,
3805 .get_sset_count = marvell_get_sset_count,
3806 .get_strings = marvell_get_strings,
3807 .get_stats = marvell_get_stats,
3808 .get_tunable = m88e1011_get_tunable,
3809 .set_tunable = m88e1011_set_tunable,
3810 },
3811 {
3812 .phy_id = MARVELL_PHY_ID_88E1318S,
3813 .phy_id_mask = MARVELL_PHY_ID_MASK,
3814 .name = "Marvell 88E1318S",
3815 /* PHY_GBIT_FEATURES */
3816 .probe = marvell_probe,
3817 .config_init = m88e1318_config_init,
3818 .config_aneg = m88e1318_config_aneg,
3819 .read_status = marvell_read_status,
3820 .config_intr = marvell_config_intr,
3821 .handle_interrupt = marvell_handle_interrupt,
3822 .get_wol = m88e1318_get_wol,
3823 .set_wol = m88e1318_set_wol,
3824 .resume = genphy_resume,
3825 .suspend = genphy_suspend,
3826 .read_page = marvell_read_page,
3827 .write_page = marvell_write_page,
3828 .get_sset_count = marvell_get_sset_count,
3829 .get_strings = marvell_get_strings,
3830 .get_stats = marvell_get_stats,
3831 .led_brightness_set = m88e1318_led_brightness_set,
3832 .led_blink_set = m88e1318_led_blink_set,
3833 .led_hw_is_supported = m88e1318_led_hw_is_supported,
3834 .led_hw_control_set = m88e1318_led_hw_control_set,
3835 .led_hw_control_get = m88e1318_led_hw_control_get,
3836 },
3837 {
3838 .phy_id = MARVELL_PHY_ID_88E1145,
3839 .phy_id_mask = MARVELL_PHY_ID_MASK,
3840 .name = "Marvell 88E1145",
3841 /* PHY_GBIT_FEATURES */
3842 .flags = PHY_POLL_CABLE_TEST,
3843 .probe = marvell_probe,
3844 .config_init = m88e1145_config_init,
3845 .config_aneg = m88e1101_config_aneg,
3846 .config_intr = marvell_config_intr,
3847 .handle_interrupt = marvell_handle_interrupt,
3848 .resume = genphy_resume,
3849 .suspend = genphy_suspend,
3850 .read_page = marvell_read_page,
3851 .write_page = marvell_write_page,
3852 .get_sset_count = marvell_get_sset_count,
3853 .get_strings = marvell_get_strings,
3854 .get_stats = marvell_get_stats,
3855 .get_tunable = m88e1111_get_tunable,
3856 .set_tunable = m88e1111_set_tunable,
3857 .cable_test_start = m88e1111_vct_cable_test_start,
3858 .cable_test_get_status = m88e1111_vct_cable_test_get_status,
3859 },
3860 {
3861 .phy_id = MARVELL_PHY_ID_88E1149R,
3862 .phy_id_mask = MARVELL_PHY_ID_MASK,
3863 .name = "Marvell 88E1149R",
3864 /* PHY_GBIT_FEATURES */
3865 .probe = marvell_probe,
3866 .config_init = m88e1149_config_init,
3867 .config_aneg = m88e1118_config_aneg,
3868 .config_intr = marvell_config_intr,
3869 .handle_interrupt = marvell_handle_interrupt,
3870 .resume = genphy_resume,
3871 .suspend = genphy_suspend,
3872 .read_page = marvell_read_page,
3873 .write_page = marvell_write_page,
3874 .get_sset_count = marvell_get_sset_count,
3875 .get_strings = marvell_get_strings,
3876 .get_stats = marvell_get_stats,
3877 },
3878 {
3879 .phy_id = MARVELL_PHY_ID_88E1240,
3880 .phy_id_mask = MARVELL_PHY_ID_MASK,
3881 .name = "Marvell 88E1240",
3882 /* PHY_GBIT_FEATURES */
3883 .probe = marvell_probe,
3884 .config_init = m88e1112_config_init,
3885 .config_aneg = marvell_config_aneg,
3886 .config_intr = marvell_config_intr,
3887 .handle_interrupt = marvell_handle_interrupt,
3888 .resume = genphy_resume,
3889 .suspend = genphy_suspend,
3890 .read_page = marvell_read_page,
3891 .write_page = marvell_write_page,
3892 .get_sset_count = marvell_get_sset_count,
3893 .get_strings = marvell_get_strings,
3894 .get_stats = marvell_get_stats,
3895 .get_tunable = m88e1011_get_tunable,
3896 .set_tunable = m88e1011_set_tunable,
3897 },
3898 {
3899 .phy_id = MARVELL_PHY_ID_88E1116R,
3900 .phy_id_mask = MARVELL_PHY_ID_MASK,
3901 .name = "Marvell 88E1116R",
3902 /* PHY_GBIT_FEATURES */
3903 .probe = marvell_probe,
3904 .config_init = m88e1116r_config_init,
3905 .config_intr = marvell_config_intr,
3906 .handle_interrupt = marvell_handle_interrupt,
3907 .resume = genphy_resume,
3908 .suspend = genphy_suspend,
3909 .read_page = marvell_read_page,
3910 .write_page = marvell_write_page,
3911 .get_sset_count = marvell_get_sset_count,
3912 .get_strings = marvell_get_strings,
3913 .get_stats = marvell_get_stats,
3914 .get_tunable = m88e1011_get_tunable,
3915 .set_tunable = m88e1011_set_tunable,
> 3916 .led_polarity_set = m88e1318_led_polarity_set,
3917 .led_brightness_set = m88e1318_led_brightness_set,
3918 .led_blink_set = m88e1318_led_blink_set,
3919 .led_hw_is_supported = m88e1318_led_hw_is_supported,
3920 .led_hw_control_set = m88e1318_led_hw_control_set,
3921 .led_hw_control_get = m88e1318_led_hw_control_get,
3922 },
3923 {
3924 .phy_id = MARVELL_PHY_ID_88E1510,
3925 .phy_id_mask = MARVELL_PHY_ID_MASK,
3926 .name = "Marvell 88E1510",
3927 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
3928 .features = PHY_GBIT_FIBRE_FEATURES,
3929 .flags = PHY_POLL_CABLE_TEST,
3930 .probe = marvell_probe,
3931 .config_init = m88e1510_config_init,
3932 .config_aneg = m88e1510_config_aneg,
3933 .read_status = marvell_read_status,
3934 .config_intr = marvell_config_intr,
3935 .handle_interrupt = marvell_handle_interrupt,
3936 .get_wol = m88e1318_get_wol,
3937 .set_wol = m88e1318_set_wol,
3938 .resume = m88e1510_resume,
3939 .suspend = marvell_suspend,
3940 .read_page = marvell_read_page,
3941 .write_page = marvell_write_page,
3942 .get_sset_count = marvell_get_sset_count,
3943 .get_strings = marvell_get_strings,
3944 .get_stats = marvell_get_stats,
3945 .set_loopback = m88e1510_loopback,
3946 .get_tunable = m88e1011_get_tunable,
3947 .set_tunable = m88e1011_set_tunable,
3948 .cable_test_start = marvell_vct7_cable_test_start,
3949 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
3950 .cable_test_get_status = marvell_vct7_cable_test_get_status,
3951 .led_brightness_set = m88e1318_led_brightness_set,
3952 .led_blink_set = m88e1318_led_blink_set,
3953 .led_hw_is_supported = m88e1318_led_hw_is_supported,
3954 .led_hw_control_set = m88e1318_led_hw_control_set,
3955 .led_hw_control_get = m88e1318_led_hw_control_get,
3956 .attach_mii_port = m88e1510_attach_mii_port,
3957 },
3958 {
3959 .phy_id = MARVELL_PHY_ID_88E1540,
3960 .phy_id_mask = MARVELL_PHY_ID_MASK,
3961 .name = "Marvell 88E1540",
3962 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
3963 /* PHY_GBIT_FEATURES */
3964 .flags = PHY_POLL_CABLE_TEST,
3965 .probe = marvell_probe,
3966 .config_init = marvell_1011gbe_config_init,
3967 .config_aneg = m88e1510_config_aneg,
3968 .read_status = marvell_read_status,
3969 .config_intr = marvell_config_intr,
3970 .handle_interrupt = marvell_handle_interrupt,
3971 .resume = genphy_resume,
3972 .suspend = genphy_suspend,
3973 .read_page = marvell_read_page,
3974 .write_page = marvell_write_page,
3975 .get_sset_count = marvell_get_sset_count,
3976 .get_strings = marvell_get_strings,
3977 .get_stats = marvell_get_stats,
3978 .get_tunable = m88e1540_get_tunable,
3979 .set_tunable = m88e1540_set_tunable,
3980 .cable_test_start = marvell_vct7_cable_test_start,
3981 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
3982 .cable_test_get_status = marvell_vct7_cable_test_get_status,
3983 .led_brightness_set = m88e1318_led_brightness_set,
3984 .led_blink_set = m88e1318_led_blink_set,
3985 .led_hw_is_supported = m88e1318_led_hw_is_supported,
3986 .led_hw_control_set = m88e1318_led_hw_control_set,
3987 .led_hw_control_get = m88e1318_led_hw_control_get,
3988 },
3989 {
3990 .phy_id = MARVELL_PHY_ID_88E1545,
3991 .phy_id_mask = MARVELL_PHY_ID_MASK,
3992 .name = "Marvell 88E1545",
3993 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
3994 .probe = marvell_probe,
3995 /* PHY_GBIT_FEATURES */
3996 .flags = PHY_POLL_CABLE_TEST,
3997 .config_init = marvell_1011gbe_config_init,
3998 .config_aneg = m88e1510_config_aneg,
3999 .read_status = marvell_read_status,
4000 .config_intr = marvell_config_intr,
4001 .handle_interrupt = marvell_handle_interrupt,
4002 .resume = genphy_resume,
4003 .suspend = genphy_suspend,
4004 .read_page = marvell_read_page,
4005 .write_page = marvell_write_page,
4006 .get_sset_count = marvell_get_sset_count,
4007 .get_strings = marvell_get_strings,
4008 .get_stats = marvell_get_stats,
4009 .get_tunable = m88e1540_get_tunable,
4010 .set_tunable = m88e1540_set_tunable,
4011 .cable_test_start = marvell_vct7_cable_test_start,
4012 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
4013 .cable_test_get_status = marvell_vct7_cable_test_get_status,
4014 .led_brightness_set = m88e1318_led_brightness_set,
4015 .led_blink_set = m88e1318_led_blink_set,
4016 .led_hw_is_supported = m88e1318_led_hw_is_supported,
4017 .led_hw_control_set = m88e1318_led_hw_control_set,
4018 .led_hw_control_get = m88e1318_led_hw_control_get,
4019 },
4020 {
4021 .phy_id = MARVELL_PHY_ID_88E3016,
4022 .phy_id_mask = MARVELL_PHY_ID_MASK,
4023 .name = "Marvell 88E3016",
4024 /* PHY_BASIC_FEATURES */
4025 .probe = marvell_probe,
4026 .config_init = m88e3016_config_init,
4027 .aneg_done = marvell_aneg_done,
4028 .read_status = marvell_read_status,
4029 .config_intr = marvell_config_intr,
4030 .handle_interrupt = marvell_handle_interrupt,
4031 .resume = genphy_resume,
4032 .suspend = genphy_suspend,
4033 .read_page = marvell_read_page,
4034 .write_page = marvell_write_page,
4035 .get_sset_count = marvell_get_sset_count,
4036 .get_strings = marvell_get_strings,
4037 .get_stats = marvell_get_stats,
4038 },
4039 {
4040 .phy_id = MARVELL_PHY_ID_88E6250_FAMILY,
4041 .phy_id_mask = MARVELL_PHY_ID_MASK,
4042 .name = "Marvell 88E6250 Family",
4043 /* PHY_BASIC_FEATURES */
4044 .probe = marvell_probe,
4045 .aneg_done = marvell_aneg_done,
4046 .config_intr = marvell_config_intr,
4047 .handle_interrupt = marvell_handle_interrupt,
4048 .resume = genphy_resume,
4049 .suspend = genphy_suspend,
4050 .get_sset_count = marvell_get_sset_count_simple,
4051 .get_strings = marvell_get_strings_simple,
4052 .get_stats = marvell_get_stats_simple,
4053 },
4054 {
4055 .phy_id = MARVELL_PHY_ID_88E6341_FAMILY,
4056 .phy_id_mask = MARVELL_PHY_ID_MASK,
4057 .name = "Marvell 88E6341 Family",
4058 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
4059 /* PHY_GBIT_FEATURES */
4060 .flags = PHY_POLL_CABLE_TEST,
4061 .probe = marvell_probe,
4062 .config_init = marvell_1011gbe_config_init,
4063 .config_aneg = m88e6390_config_aneg,
4064 .read_status = marvell_read_status,
4065 .config_intr = marvell_config_intr,
4066 .handle_interrupt = marvell_handle_interrupt,
4067 .resume = genphy_resume,
4068 .suspend = genphy_suspend,
4069 .read_page = marvell_read_page,
4070 .write_page = marvell_write_page,
4071 .get_sset_count = marvell_get_sset_count,
4072 .get_strings = marvell_get_strings,
4073 .get_stats = marvell_get_stats,
4074 .get_tunable = m88e1540_get_tunable,
4075 .set_tunable = m88e1540_set_tunable,
4076 .cable_test_start = marvell_vct7_cable_test_start,
4077 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
4078 .cable_test_get_status = marvell_vct7_cable_test_get_status,
4079 },
4080 {
4081 .phy_id = MARVELL_PHY_ID_88E6390_FAMILY,
4082 .phy_id_mask = MARVELL_PHY_ID_MASK,
4083 .name = "Marvell 88E6390 Family",
4084 .driver_data = DEF_MARVELL_HWMON_OPS(m88e6390_hwmon_ops),
4085 /* PHY_GBIT_FEATURES */
4086 .flags = PHY_POLL_CABLE_TEST,
4087 .probe = marvell_probe,
4088 .config_init = marvell_1011gbe_config_init,
4089 .config_aneg = m88e6390_config_aneg,
4090 .read_status = marvell_read_status,
4091 .config_intr = marvell_config_intr,
4092 .handle_interrupt = marvell_handle_interrupt,
4093 .resume = genphy_resume,
4094 .suspend = genphy_suspend,
4095 .read_page = marvell_read_page,
4096 .write_page = marvell_write_page,
4097 .get_sset_count = marvell_get_sset_count,
4098 .get_strings = marvell_get_strings,
4099 .get_stats = marvell_get_stats,
4100 .get_tunable = m88e1540_get_tunable,
4101 .set_tunable = m88e1540_set_tunable,
4102 .cable_test_start = marvell_vct7_cable_test_start,
4103 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
4104 .cable_test_get_status = marvell_vct7_cable_test_get_status,
4105 },
4106 {
4107 .phy_id = MARVELL_PHY_ID_88E6393_FAMILY,
4108 .phy_id_mask = MARVELL_PHY_ID_MASK,
4109 .name = "Marvell 88E6393 Family",
4110 .driver_data = DEF_MARVELL_HWMON_OPS(m88e6393_hwmon_ops),
4111 /* PHY_GBIT_FEATURES */
4112 .flags = PHY_POLL_CABLE_TEST,
4113 .probe = marvell_probe,
4114 .config_init = marvell_1011gbe_config_init,
4115 .config_aneg = m88e1510_config_aneg,
4116 .read_status = marvell_read_status,
4117 .config_intr = marvell_config_intr,
4118 .handle_interrupt = marvell_handle_interrupt,
4119 .resume = genphy_resume,
4120 .suspend = genphy_suspend,
4121 .read_page = marvell_read_page,
4122 .write_page = marvell_write_page,
4123 .get_sset_count = marvell_get_sset_count,
4124 .get_strings = marvell_get_strings,
4125 .get_stats = marvell_get_stats,
4126 .get_tunable = m88e1540_get_tunable,
4127 .set_tunable = m88e1540_set_tunable,
4128 .cable_test_start = marvell_vct7_cable_test_start,
4129 .cable_test_tdr_start = marvell_vct5_cable_test_tdr_start,
4130 .cable_test_get_status = marvell_vct7_cable_test_get_status,
4131 },
4132 {
4133 .phy_id = MARVELL_PHY_ID_88E1340S,
4134 .phy_id_mask = MARVELL_PHY_ID_MASK,
4135 .name = "Marvell 88E1340S",
4136 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
4137 .probe = marvell_probe,
4138 /* PHY_GBIT_FEATURES */
4139 .config_init = marvell_1011gbe_config_init,
4140 .config_aneg = m88e1510_config_aneg,
4141 .read_status = marvell_read_status,
4142 .config_intr = marvell_config_intr,
4143 .handle_interrupt = marvell_handle_interrupt,
4144 .resume = genphy_resume,
4145 .suspend = genphy_suspend,
4146 .read_page = marvell_read_page,
4147 .write_page = marvell_write_page,
4148 .get_sset_count = marvell_get_sset_count,
4149 .get_strings = marvell_get_strings,
4150 .get_stats = marvell_get_stats,
4151 .get_tunable = m88e1540_get_tunable,
4152 .set_tunable = m88e1540_set_tunable,
4153 },
4154 {
4155 .phy_id = MARVELL_PHY_ID_88E1548P,
4156 .phy_id_mask = MARVELL_PHY_ID_MASK,
4157 .name = "Marvell 88E1548P",
4158 .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops),
4159 .probe = marvell_probe,
4160 .features = PHY_GBIT_FIBRE_FEATURES,
4161 .config_init = marvell_1011gbe_config_init,
4162 .config_aneg = m88e1510_config_aneg,
4163 .read_status = marvell_read_status,
4164 .config_intr = marvell_config_intr,
4165 .handle_interrupt = marvell_handle_interrupt,
4166 .resume = genphy_resume,
4167 .suspend = genphy_suspend,
4168 .read_page = marvell_read_page,
4169 .write_page = marvell_write_page,
4170 .get_sset_count = marvell_get_sset_count,
4171 .get_strings = marvell_get_strings,
4172 .get_stats = marvell_get_stats,
4173 .get_tunable = m88e1540_get_tunable,
4174 .set_tunable = m88e1540_set_tunable,
4175 .led_brightness_set = m88e1318_led_brightness_set,
4176 .led_blink_set = m88e1318_led_blink_set,
4177 .led_hw_is_supported = m88e1318_led_hw_is_supported,
4178 .led_hw_control_set = m88e1318_led_hw_control_set,
4179 .led_hw_control_get = m88e1318_led_hw_control_get,
4180 },
4181 };
4182

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki