cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sysfs.c (1391B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <linux/kernel.h>
      3#include <linux/of.h>
      4#include <linux/stat.h>
      5/* FIX UP */
      6#include "soundbus.h"
      7
      8static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
      9			     char *buf)
     10{
     11	struct soundbus_dev *sdev = to_soundbus_device(dev);
     12	struct platform_device *of = &sdev->ofdev;
     13	int length;
     14
     15	if (*sdev->modalias) {
     16		strscpy(buf, sdev->modalias, sizeof(sdev->modalias) + 1);
     17		strcat(buf, "\n");
     18		length = strlen(buf);
     19	} else {
     20		length = sprintf(buf, "of:N%pOFn%c%s\n",
     21				 of->dev.of_node, 'T',
     22                                 of_node_get_device_type(of->dev.of_node));
     23	}
     24
     25	return length;
     26}
     27static DEVICE_ATTR_RO(modalias);
     28
     29static ssize_t name_show(struct device *dev,
     30			 struct device_attribute *attr, char *buf)
     31{
     32	struct soundbus_dev *sdev = to_soundbus_device(dev);
     33	struct platform_device *of = &sdev->ofdev;
     34
     35	return sprintf(buf, "%pOFn\n", of->dev.of_node);
     36}
     37static DEVICE_ATTR_RO(name);
     38
     39static ssize_t type_show(struct device *dev,
     40			 struct device_attribute *attr, char *buf)
     41{
     42	struct soundbus_dev *sdev = to_soundbus_device(dev);
     43	struct platform_device *of = &sdev->ofdev;
     44
     45	return sprintf(buf, "%s\n", of_node_get_device_type(of->dev.of_node));
     46}
     47static DEVICE_ATTR_RO(type);
     48
     49struct attribute *soundbus_dev_attrs[] = {
     50	&dev_attr_name.attr,
     51	&dev_attr_type.attr,
     52	&dev_attr_modalias.attr,
     53	NULL,
     54};