From b093cec6cca842bd2f6bf1b6f904738b273e8682 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Thu, 15 Jul 2010 13:05:16 +0000 Subject: generic: rtl8366: introduce rtl8366_smi_alloc SVN-Revision: 22195 --- .../generic/files/drivers/net/phy/rtl8366_smi.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'target/linux/generic/files/drivers/net/phy/rtl8366_smi.c') diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c index d0b3680562..ac8862ced6 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c @@ -741,13 +741,27 @@ static void rtl8366_smi_mii_cleanup(struct rtl8366_smi *smi) mdiobus_free(smi->mii_bus); } +struct rtl8366_smi *rtl8366_smi_alloc(struct device *parent) +{ + struct rtl8366_smi *smi; + + BUG_ON(!parent); + + smi = kzalloc(sizeof(*smi), GFP_KERNEL); + if (!smi) { + dev_err(parent, "no memory for private data\n"); + return NULL; + } + + smi->parent = parent; + return smi; +} +EXPORT_SYMBOL_GPL(rtl8366_smi_alloc); + int rtl8366_smi_init(struct rtl8366_smi *smi) { int err; - if (!smi->parent) - return -EINVAL; - if (!smi->ops) return -EINVAL; -- cgit v1.2.3