linux/drivers/macintosh/macio_sysfs.c
<<
e="ve="ve=o/spa6.2e=ospa6 class="lxr_search">e="ve="ve="ve="v typ Search.2 e="ve=o/spa6.2"ve=oinput typ e"v2 odiv id/ /1o/a>#include <linux/kernel.ho/a>> / /2o/a>#include <linux/stat.ho/a>> / /3o/a>#include <asm/macio.ho/a>> / /4o/a>e/ /5o/a>e/ /6o/a>#define/oa href="+code=macio_config_of_attr" class="sref">macio_config_of_attro/a>(oa href="+code=field" class="sref">fieldo/a>,/oa href="+code=format_string" class="sref">format_stringo/a>) \e/ /7o/a>static/oa href="+code=ssize_t" class="sref">ssize_to/a> \e/ /8o/a>oa href="+code=field" class="sref">fieldo/a>##_show (struct/oa href="+code=device" class="sref">deviceo/a> *oa href="+code=dev" class="sref">devo/a>,/struct/oa href="+code=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, \e/ /9o/a> char *oa href="+code=buf" class="sref">bufo/a>) \e/ > a>{ \e/ 11o/a> struct/oa href="+code=macio_dev" class="sref">macio_devo/a> *oa href="+code=mdev" class="sref">mdevo/a> =/oa href="+code=to_macio_device" class="sref">to_macio_deviceo/a> (oa href="+code=dev" class="sref">devo/a>); \e/ 12o/a> return oa href="+code=sprintf" class="sref">sprintfo/a> (oa href="+code=buf" class="sref">bufo/a>,/oa href="+code=format_string" class="sref">format_stringo/a>,/oa href="+code=mdev" class="sref">mdevo/a>->oa href="+code=ofdev" class="sref">ofdevo/a>.oa href="+code=dev" class="sref">devo/a>.oa href="+code=of_node" class="sref">of_nodeo/a>->oa href="+code=field" class="sref">fieldo/a>); \e/ 13o/a>}e/ 14o/a>e/ 15o/a>static/oa href="+code=ssize_t" class="sref">ssize_to/a>e/ 16o/a>oa href="+code=compatible_show" class="sref">compatible_showo/a> (struct/oa href="+code=device" class="sref">deviceo/a> *oa href="+code=dev" class="sref">devo/a>,/struct/oa href="+code=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, char *oa href="+code=buf" class="sref">bufo/a>)e/ 17o/a>{e/ 18o/a> struct/oa href="+code=platform_device" class="sref">platform_deviceo/a> *oa href="+code=of" class="sref">ofo/a>; / 19o/a> const char *oa href="+code=compat" class="sref">compato/a>; / 20o/a> int/oa href="+code=cplen" class="sref">cpleno/a>; / 21o/a> int/oa href="+code=length" class="sref">lengtho/a> =/0; / 22o/a>e/ 23o/a> oa href="+code=of" class="sref">ofo/a> =/&oa href="+code=to_macio_device" class="sref">to_macio_deviceo/a> (oa href="+code=dev" class="sref">devo/a>)->oa href="+code=ofdev" class="sref">ofdevo/a>; / 24o/a> oa href="+code=compat" class="sref">compato/a> =/oa href="+code=of_get_property" class="sref">of_get_propertyo/a>(oa href="+code=of" class="sref">ofo/a>->oa href="+code=dev" class="sref">devo/a>.oa href="+code=of_node" class="sref">of_nodeo/a>,/ospa6 class="string">"compatible"o/spa6.,/&oa href="+code=cplen" class="sref">cpleno/a>); / 25o/a> if (!oa href="+code=compat" class="sref">compato/a>) {e/ 26o/a> *oa href="+code=buf" class="sref">bufo/a> =/ospa6 class="string">'\0'o/spa6.; / 27o/a> return 0; / 28o/a> }e/ 29o/a> while (oa href="+code=cplen" class="sref">cpleno/a> > 0) {e/ 30o/a> int/oa href="+code=l" class="sref">lo/a>; / 31o/a> oa href="+code=length" class="sref">lengtho/a> +=/oa href="+code=sprintf" class="sref">sprintfo/a> (oa href="+code=buf" class="sref">bufo/a>,/ospa6 class="string">"%s\n"o/spa6.,/oa href="+code=compat" class="sref">compato/a>); / 32o/a> oa href="+code=buf" class="sref">bufo/a> +=/oa href="+code=length" class="sref">lengtho/a>; / 33o/a> oa href="+code=l" class="sref">lo/a> =/oa href="+code=strlen" class="sref">strleno/a> (oa href="+code=compat" class="sref">compato/a>) + 1; / 34o/a> oa href="+code=compat" class="sref">compato/a> +=/oa href="+code=l" class="sref">lo/a>; / 35o/a> oa href="+code=cplen" class="sref">cpleno/a> -=/oa href="+code=l" class="sref">lo/a>; / 36o/a> }e/ 37o/a>e/ 38o/a> return oa href="+code=length" class="sref">lengtho/a>; / 39o/a>}e/ 40o/a>e/ 41o/a>static/oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=modalias_show" class="sref">modalias_showo/a> (struct/oa href="+code=device" class="sref">deviceo/a> *oa href="+code=dev" class="sref">devo/a>,/struct/oa href="+code=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sref">attro/a>,e/ 42o/a> char *oa href="+code=buf" class="sref">bufo/a>)e/ 43o/a>{e/ 44o/a> int/oa href="+code=len" class="sref">leno/a> =/oa href="+code=of_device_get_modalias" class="sref">of_device_get_modaliaso/a>(oa href="+code=dev" class="sref">devo/a>,/oa href="+code=buf" class="sref">bufo/a>,/oa href="+code=PAGE_SIZE" class="sref">PAGE_SIZEo/a> - 2); / 45o/a>e/ 46o/a> oa href="+code=buf" class="sref">bufo/a>[oa href="+code=len" class="sref">leno/a>] =/ospa6 class="string">'\n'o/spa6.; / 47o/a> oa href="+code=buf" class="sref">bufo/a>[oa href="+code=len" class="sref">leno/a>+1] =/0; / 48o/a>e/ 49o/a> return oa href="+code=len" class="sref">leno/a>+1; / 50o/a>}e/ 51o/a>e/ 52o/a>static/oa href="+code=ssize_t" class="sref">ssize_to/a> oa href="+code=devspec_show" class="sref">devspec_showo/a>(struct/oa href="+code=device" class="sref">deviceo/a> *oa href="+code=dev" class="sref">devo/a>,e/ 53o/a> struct/oa href="+code=device_attribute" class="sref">device_attributeo/a> *oa href="+code=attr" class="sref">attro/a>, char *oa href="+code=buf" class="sref">bufo/a>)e/ 54o/a>{e/ 55o/a> struct/oa href="+code=platform_device" class="sref">platform_deviceo/a> *oa href="+code=ofdev" class="sref">ofdevo/a>; / 56o/a>e/ 57o/a> oa href="+code=ofdev" class="sref">ofdevo/a> =/oa href="+code=to_platform_device" class="sref">to_platform_deviceo/a>(oa href="+code=dev" class="sref">devo/a>); / 58o/a> return oa href="+code=sprintf" class="sref">sprintfo/a>(oa href="+code=buf" class="sref">bufo/a>,/ospa6 class="string">"%s\n"o/spa6.,/oa href="+code=ofdev" class="sref">ofdevo/a>->oa href="+code=dev" class="sref">devo/a>.oa href="+code=of_node" class="sref">of_nodeo/a>->oa href="+code=full_nam " class="sref">full_nam o/a>); / 59o/a>}e/ 60o/a>e/ 61o/a>oa href="+code=macio_config_of_attr" class="sref">macio_config_of_attro/a> (oa href="+code=nam " class="sref">nam o/a>,/ospa6 class="string">"%s\n"o/spa6.); / 62o/a>oa href="+code=macio_config_of_attr" class="sref">macio_config_of_attro/a> (oa href="+code=typ " class="sref">typ o/a>,/ospa6 class="string">"%s\n"o/spa6.); / 63o/a>e/ 64o/a>struct/oa href="+code=device_attribute" class="sref">device_attributeo/a> oa href="+code=macio_dev_attrs" class="sref">macio_dev_attrso/a>[] =/{e/ 65o/a> oa href="+code=__ATTR_RO" class="sref">__ATTR_ROo/a>(oa href="+code=nam " class="sref">nam o/a>),e/ 66o/a> oa href="+code=__ATTR_RO" class="sref">__ATTR_ROo/a>(oa href="+code=typ " class="sref">typ o/a>),e/ 67o/a> oa href="+code=__ATTR_RO" class="sref">__ATTR_ROo/a>(oa href="+code=compatible" class="sref">compatibleo/a>),e/ 68o/a> oa href="+code=__ATTR_RO" class="sref">__ATTR_ROo/a>(oa href="+code=modalias" class="sref">modaliaso/a>),e/ 69o/a> oa href="+code=__ATTR_RO" class="sref">__ATTR_ROo/a>(oa href="+code=devspec" class="sref">devspeco/a>),e/ 70o/a> oa href="+code=__ATTR_NULL" class="sref">__ATTR_NULLo/a>e/ 71o/a>}; / 72o/a>o/pre> The original LXR software by the/oa href="http://sourceforge.net/projects/lxr">LXR communityo/a>, this experimental verson> by oa href="mailto:lxr@linux.no">lxr@linux.noo/a>. o/div.2odiv class="subfooter"> lxr.linux.no kindly hosted by oa href="http://www.redpill-linpro.no">Redpill Linpro ASo/a>, provider of Linux consulting and operav2.6s services since 1995. o/div.2 o/body.2o/html.2