--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -146,4 +146,14 @@ config MDIO_GPIO
+@@ -146,4 +146,25 @@ config MDIO_GPIO
To compile this driver as a module, choose M here: the module
will be called mdio-gpio.
+config RTL8366_SMI
-+ tristate "Support for RTL8366 switch via SMI interface"
++ tristate "Driver for the RTL8366 SMI interface"
+ depends on GENERIC_GPIO
++ ---help---
++ This module implements the SMI interface protocol which is used
++ by some RTL8366 ethernet switch devices via the generic GPIO API.
+
-+config RTL8366_SMI_DEBUG_FS
-+ bool "RTL8366S driver DEBUG_FS support"
-+ depends on RTL8366_SMI
++if RTL8366_SMI
++
++config RTL8366S_PHY
++ tristate "Driver for the Realtek RTL8366S switch"
++ select SWCONFIG
++
++config RTL8366S_PHY_DEBUG_FS
++ bool "RTL8366S switch driver DEBUG_FS support"
++ depends on RTL8366S_PHY
+ depends on DEBUG_FS
+ default n
++
++endif # RTL8366_SMI
+
endif # PHYLIB
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_IP175C_PHY) += ip175c.o
+@@ -20,6 +20,8 @@ obj-$(CONFIG_IP175C_PHY) += ip175c.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
obj-$(CONFIG_AR8216_PHY) += ar8216.o
obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
+obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi.o
++obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
obj-$(CONFIG_MICREL) += micrel.o
obj-$(CONFIG_FIXED_PHY) += fixed.o