---
name: "struct_subsys_interface"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_subsys_interface"
---

# struct\_subsys\_interface(9)

interfaces to device functions

## NAME

struct\_subsys\_interface - interfaces to device functions

## SYNOPSIS

```
struct subsys_interface {
  const char * name;
  struct bus_type * subsys;
  struct list_head node;
  int (* add_dev) (struct device *dev, struct subsys_interface *sif);
  int (* remove_dev) (struct device *dev, struct subsys_interface *sif);
};
```

## MEMBERS

name

name of the device function

subsys

subsytem of the devices to attach to

node

the list of functions registered at the subsystem

add\_dev

device hookup to device function handler

remove\_dev

device hookup to device function handler

## DESCRIPTION

Simple interfaces attached to a subsystem. Multiple interfaces can attach to a subsystem and its devices. Unlike drivers, they do not exclusively claim or control devices. Interfaces usually represent a specific functionality of a subsystem/class of devices.

## COPYRIGHT
