w1: add 1-wire master driver for IP block found in SGI ASICs
Starting with SGI Origin machines nearly every new SGI ASIC contains an 1-Wire master. They are used for attaching One-Wire prom devices, which contain information about part numbers, revision numbers, serial number etc. and MAC addresses for ethernet interfaces. This patch adds a master driver to support this IP block. It also adds an extra field dev_id to struct w1_bus_master, which could be in used in slave drivers for creating unique device names. Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de> Link: https://lore.kernel.org/r/20190831082623.15627-2-tbogendoerfer@suse.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
836e9494f4
commit
74ded38a8e
13
include/linux/platform_data/sgi-w1.h
Normal file
13
include/linux/platform_data/sgi-w1.h
Normal file
@@ -0,0 +1,13 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* SGI One-Wire (W1) IP
|
||||
*/
|
||||
|
||||
#ifndef PLATFORM_DATA_SGI_W1_H
|
||||
#define PLATFORM_DATA_SGI_W1_H
|
||||
|
||||
struct sgi_w1_platform_data {
|
||||
char dev_id[64];
|
||||
};
|
||||
|
||||
#endif /* PLATFORM_DATA_SGI_W1_H */
|
@@ -118,6 +118,9 @@ typedef void (*w1_slave_found_callback)(struct w1_master *, u64);
|
||||
* w1_master* is passed to the slave found callback.
|
||||
* u8 is search_type, W1_SEARCH or W1_ALARM_SEARCH
|
||||
*
|
||||
* @dev_id: Optional device id string, which w1 slaves could use for
|
||||
* creating names, which then give a connection to the w1 master
|
||||
*
|
||||
* Note: read_bit and write_bit are very low level functions and should only
|
||||
* be used with hardware that doesn't really support 1-wire operations,
|
||||
* like a parallel/serial port.
|
||||
@@ -150,6 +153,8 @@ struct w1_bus_master {
|
||||
|
||||
void (*search)(void *, struct w1_master *,
|
||||
u8, w1_slave_found_callback);
|
||||
|
||||
char *dev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user