Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
6dca7b97
Commit
6dca7b97
authored
Sep 01, 2014
by
Greg Kroah-Hartman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
greybus: get field names right for descriptors
parent
6584c8af
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
22 deletions
+25
-22
drivers/staging/greybus/core.c
drivers/staging/greybus/core.c
+11
-7
drivers/staging/greybus/greybus.h
drivers/staging/greybus/greybus.h
+10
-11
drivers/staging/greybus/greybus_desc.h
drivers/staging/greybus/greybus_desc.h
+1
-1
drivers/staging/greybus/greybus_id.h
drivers/staging/greybus/greybus_id.h
+3
-3
No files found.
drivers/staging/greybus/core.c
View file @
6dca7b97
...
...
@@ -33,18 +33,22 @@ EXPORT_SYMBOL_GPL(greybus_disabled);
static
int
greybus_match_one_id
(
struct
greybus_device
*
gdev
,
const
struct
greybus_module_id
*
id
)
{
struct
greybus_descriptor
*
des
=
&
gdev
->
descriptor
;
struct
greybus_descriptor_module_id
*
module_id
;
struct
greybus_descriptor_serial_number
*
serial_num
;
module_id
=
&
gdev
->
module_id
;
serial_num
=
&
gdev
->
serial_number
;
if
((
id
->
match_flags
&
GREYBUS_DEVICE_ID_MATCH_VENDOR
)
&&
(
des
->
wVendor
!=
id
->
wVendor
))
(
id
->
vendor
!=
le16_to_cpu
(
module_id
->
vendor
)
))
return
0
;
if
((
id
->
match_flags
&
GREYBUS_DEVICE_ID_MATCH_PRODUCT
)
&&
(
des
->
wProduct
!=
id
->
wProduct
))
(
id
->
product
!=
le16_to_cpu
(
module_id
->
product
)
))
return
0
;
if
((
id
->
match_flags
&
GREYBUS_DEVICE_ID_MATCH_SERIAL
)
&&
(
des
->
lSerialNumber
!=
id
->
lSerialNumber
))
(
id
->
serial_number
!=
le64_to_cpu
(
serial_num
->
serial_number
)
))
return
0
;
return
1
;
...
...
@@ -57,7 +61,7 @@ static const struct greybus_module_id *greybus_match_id(
if
(
id
==
NULL
)
return
NULL
;
for
(;
id
->
wVendor
||
id
->
wProduct
||
id
->
lSerialN
umber
||
for
(;
id
->
vendor
||
id
->
product
||
id
->
serial_n
umber
||
id
->
driver_info
;
id
++
)
{
if
(
greybus_match_one_id
(
gdev
,
id
))
return
id
;
...
...
@@ -151,7 +155,7 @@ void greybus_deregister(struct greybus_driver *driver)
EXPORT_SYMBOL_GPL
(
greybus_deregister
);
static
int
new_device
(
struct
greybus_device
*
gdev
,
int
new_device
(
struct
greybus_device
*
gdev
,
const
struct
greybus_module_id
*
id
)
{
int
retval
;
...
...
@@ -187,7 +191,7 @@ static int new_device(struct greybus_device *gdev,
return
retval
;
}
static
void
remove_device
(
struct
greybus_device
*
gdev
)
void
remove_device
(
struct
greybus_device
*
gdev
)
{
/* tear down all of the "sub device types" for this device */
gb_i2c_disconnect
(
gdev
);
...
...
drivers/staging/greybus/greybus.h
View file @
6dca7b97
...
...
@@ -11,29 +11,26 @@
#ifdef __KERNEL__
#include <linux/types.h>
#include <linux/list.h>
#include <linux/device.h>
#include <linux/module.h>
#include "greybus_id.h"
#include "greybus_desc.h"
#define GREYBUS_DEVICE_ID_MATCH_DEVICE \
(GREYBUS_DEVICE_ID_MATCH_VENDOR | GREYBUS_DEVICE_ID_MATCH_PRODUCT)
#define GREYBUS_DEVICE(v
endor, product)
\
#define GREYBUS_DEVICE(v
, p)
\
.match_flags = GREYBUS_DEVICE_ID_MATCH_DEVICE, \
.
wVendor = (vendor),
\
.
wProduct = (product
),
.
vendor = (v),
\
.
product = (p
),
#define GREYBUS_DEVICE_SERIAL(s
erial
) \
#define GREYBUS_DEVICE_SERIAL(s) \
.match_flags = GREYBUS_DEVICE_ID_MATCH_SERIAL, \
.
lSerial = (serial
),
.
serial_number = (s
),
struct
greybus_descriptor
{
__u16
wVendor
;
__u16
wProduct
;
__u64
lSerialNumber
;
};
struct
gbuf
;
...
...
@@ -90,7 +87,9 @@ struct gb_usb_device;
struct
greybus_device
{
struct
device
dev
;
struct
greybus_descriptor
descriptor
;
struct
greybus_descriptor_function
function
;
struct
greybus_descriptor_module_id
module_id
;
struct
greybus_descriptor_serial_number
serial_number
;
int
num_cport
;
struct
cport
cport
[
0
];
...
...
drivers/staging/greybus/greybus_desc.h
View file @
6dca7b97
...
...
@@ -81,7 +81,7 @@ struct greybus_descriptor_cport {
__u8
reserved
;
};
struct
greybus_
msg_
descriptor
{
struct
greybus_descriptor
{
struct
greybus_descriptor_header
header
;
union
{
struct
greybus_descriptor_function
function
;
...
...
drivers/staging/greybus/greybus_id.h
View file @
6dca7b97
...
...
@@ -11,9 +11,9 @@
struct
greybus_module_id
{
__u16
match_flags
;
__u16
wV
endor
;
__u16
wP
roduct
;
__u64
lSerialN
umber
;
__u16
v
endor
;
__u16
p
roduct
;
__u64
serial_n
umber
;
kernel_ulong_t
driver_info
__attribute__
((
aligned
(
sizeof
(
kernel_ulong_t
))));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment