Changeset 36159
- Timestamp:
- 2013-04-03T11:58:33+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/target/linux/generic/files/drivers/net/phy/rtl8367b.c
r35328 r36159 863 863 } 864 864 865 #ifdef CONFIG_OF 866 static int rtl8367b_extif_init_of(struct rtl8366_smi *smi, int id, const char *name) 867 { 868 struct rtl8367_extif_config *cfg; 869 const __be32 *prop; 870 int size; 871 872 prop = of_get_property(smi->parent->of_node, name, &size); 873 if (!prop || size != (9 * sizeof(*prop))) 874 return 0; 875 876 cfg = kzalloc(sizeof(struct rtl8367_extif_config), GFP_KERNEL); 877 if (!cfg) 878 return -1; 879 880 cfg->txdelay = be32_to_cpup(prop++); 881 cfg->rxdelay = be32_to_cpup(prop++); 882 cfg->mode = be32_to_cpup(prop++); 883 cfg->ability.force_mode = be32_to_cpup(prop++); 884 cfg->ability.txpause = be32_to_cpup(prop++); 885 cfg->ability.rxpause = be32_to_cpup(prop++); 886 cfg->ability.link = be32_to_cpup(prop++); 887 cfg->ability.duplex = be32_to_cpup(prop++); 888 cfg->ability.speed = be32_to_cpup(prop++); 889 890 return rtl8367b_extif_init(smi, id, cfg); 891 } 892 #else 893 static int rtl8367b_extif_init_of(struct rtl8366_smi *smi, int id, const char *name) 894 { 895 return -1; 896 } 897 #endif 898 865 899 static int rtl8367b_setup(struct rtl8366_smi *smi) 866 900 { … … 876 910 877 911 /* initialize external interfaces */ 878 err = rtl8367b_extif_init(smi, 0, pdata->extif0_cfg); 879 if (err) 880 return err; 881 882 err = rtl8367b_extif_init(smi, 1, pdata->extif1_cfg); 883 if (err) 884 return err; 912 if (smi->parent->of_node) { 913 err = rtl8367b_extif_init_of(smi, 0, "realtek,extif0"); 914 if (err) 915 return err; 916 917 err = rtl8367b_extif_init_of(smi, 1, "realtek,extif1"); 918 if (err) 919 return err; 920 } else { 921 err = rtl8367b_extif_init(smi, 0, pdata->extif0_cfg); 922 if (err) 923 return err; 924 925 err = rtl8367b_extif_init(smi, 1, pdata->extif1_cfg); 926 if (err) 927 return err; 928 } 885 929 886 930 /* set maximum packet length to 1536 bytes */
Note: See TracChangeset
for help on using the changeset viewer.