---
name: "superhyway_add_device"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/superhyway_add_device"
---

# superhyway\_add\_device(9)

Add a SuperHyway module

## NAME

superhyway\_add\_device - Add a SuperHyway module

## SYNOPSIS

**int superhyway\_add\_device(unsigned long** *base***, struct superhyway\_device \*** *sdev***, struct superhyway\_bus \*** *bus***);**

## ARGUMENTS

*base*

Physical address where module is mapped.

*sdev*

SuperHyway device to add, or NULL to allocate a new one.

*bus*

Bus where SuperHyway module resides.

## DESCRIPTION

This is responsible for adding a new SuperHyway module. This sets up a new struct superhyway\_device for the module being added if *sdev* == NULL.

Devices are initially added in the order that they are scanned (from the top-down of the memory map), and are assigned an ID based on the order that they are added. Any manual addition of a module will thus get the ID after the devices already discovered regardless of where it resides in memory.

Further work can and should be done in **superhyway\_scan\_bus**, to be sure that any new modules are properly discovered and subsequently registered.

## AUTHOR

**Paul Mundt** \<lethal@linux-sh.org\>

Author.

## COPYRIGHT
