Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
7e27f259
Commit
7e27f259
authored
Sep 15, 2009
by
Stephen Rothwell
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'ieee1394/for-next'
parents
032d26c7
625f0850
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
34 additions
and
36 deletions
+34
-36
drivers/firewire/core-card.c
drivers/firewire/core-card.c
+5
-8
drivers/firewire/core-transaction.c
drivers/firewire/core-transaction.c
+1
-1
drivers/firewire/core.h
drivers/firewire/core.h
+14
-0
drivers/firewire/ohci.c
drivers/firewire/ohci.c
+2
-2
drivers/firewire/sbp2.c
drivers/firewire/sbp2.c
+8
-8
drivers/ieee1394/raw1394.c
drivers/ieee1394/raw1394.c
+3
-1
drivers/ieee1394/sbp2.c
drivers/ieee1394/sbp2.c
+1
-2
include/linux/firewire.h
include/linux/firewire.h
+0
-14
No files found.
drivers/firewire/core-card.c
View file @
7e27f259
...
...
@@ -444,16 +444,13 @@ int fw_card_add(struct fw_card *card,
card
->
guid
=
guid
;
mutex_lock
(
&
card_mutex
);
config_rom
=
generate_config_rom
(
card
,
&
length
);
ret
=
card
->
driver
->
enable
(
card
,
config_rom
,
length
);
if
(
ret
==
0
)
list_add_tail
(
&
card
->
link
,
&
card_list
);
mutex_unlock
(
&
card_mutex
);
ret
=
card
->
driver
->
enable
(
card
,
config_rom
,
length
);
if
(
ret
<
0
)
{
mutex_lock
(
&
card_mutex
);
list_del
(
&
card
->
link
);
mutex_unlock
(
&
card_mutex
);
}
return
ret
;
}
...
...
drivers/firewire/core-transaction.c
View file @
7e27f259
...
...
@@ -834,7 +834,7 @@ static void handle_topology_map(struct fw_card *card, struct fw_request *request
}
static
struct
fw_address_handler
topology_map
=
{
.
length
=
0x
2
00
,
.
length
=
0x
4
00
,
.
address_callback
=
handle_topology_map
,
};
...
...
drivers/firewire/core.h
View file @
7e27f259
...
...
@@ -96,6 +96,20 @@ int fw_core_initiate_bus_reset(struct fw_card *card, int short_reset);
int
fw_compute_block_crc
(
u32
*
block
);
void
fw_schedule_bm_work
(
struct
fw_card
*
card
,
unsigned
long
delay
);
static
inline
struct
fw_card
*
fw_card_get
(
struct
fw_card
*
card
)
{
kref_get
(
&
card
->
kref
);
return
card
;
}
void
fw_card_release
(
struct
kref
*
kref
);
static
inline
void
fw_card_put
(
struct
fw_card
*
card
)
{
kref_put
(
&
card
->
kref
,
fw_card_release
);
}
/* -cdev */
...
...
drivers/firewire/ohci.c
View file @
7e27f259
...
...
@@ -1279,8 +1279,8 @@ static void bus_reset_tasklet(unsigned long data)
* the inverted quadlets and a header quadlet, we shift one
* bit extra to get the actual number of self IDs.
*/
self_id_count
=
(
reg
>>
3
)
&
0x
3
ff
;
if
(
self_id_count
==
0
)
{
self_id_count
=
(
reg
>>
3
)
&
0xff
;
if
(
self_id_count
==
0
||
self_id_count
>
252
)
{
fw_notify
(
"inconsistent self IDs
\n
"
);
return
;
}
...
...
drivers/firewire/sbp2.c
View file @
7e27f259
...
...
@@ -354,8 +354,7 @@ static const struct {
/* DViCO Momobay FX-3A with TSB42AA9A bridge */
{
.
firmware_revision
=
0x002800
,
.
model
=
0x000000
,
.
workarounds
=
SBP2_WORKAROUND_DELAY_INQUIRY
|
SBP2_WORKAROUND_POWER_CONDITION
,
.
workarounds
=
SBP2_WORKAROUND_POWER_CONDITION
,
},
/* Initio bridges, actually only needed for some older ones */
{
.
firmware_revision
=
0x000200
,
...
...
@@ -425,19 +424,20 @@ static void sbp2_status_write(struct fw_card *card, struct fw_request *request,
struct
sbp2_logical_unit
*
lu
=
callback_data
;
struct
sbp2_orb
*
orb
;
struct
sbp2_status
status
;
size_t
header_size
;
unsigned
long
flags
;
if
(
tcode
!=
TCODE_WRITE_BLOCK_REQUEST
||
length
==
0
||
length
>
sizeof
(
status
))
{
length
<
8
||
length
>
sizeof
(
status
))
{
fw_send_response
(
card
,
request
,
RCODE_TYPE_ERROR
);
return
;
}
header_size
=
min
(
length
,
2
*
sizeof
(
u32
));
fw_memcpy_from_be32
(
&
status
,
payload
,
header_size
);
if
(
length
>
header_size
)
memcpy
(
status
.
data
,
payload
+
8
,
length
-
header_size
);
status
.
status
=
be32_to_cpup
(
payload
);
status
.
orb_low
=
be32_to_cpup
(
payload
+
4
);
memset
(
status
.
data
,
0
,
sizeof
(
status
.
data
));
if
(
length
>
8
)
memcpy
(
status
.
data
,
payload
+
8
,
length
-
8
);
if
(
STATUS_GET_SOURCE
(
status
)
==
2
||
STATUS_GET_SOURCE
(
status
)
==
3
)
{
fw_notify
(
"non-orb related status write, not handled
\n
"
);
fw_send_response
(
card
,
request
,
RCODE_COMPLETE
);
...
...
drivers/ieee1394/raw1394.c
View file @
7e27f259
...
...
@@ -2272,8 +2272,10 @@ static ssize_t raw1394_write(struct file *file, const char __user * buffer,
return
-
EFAULT
;
}
if
(
!
mutex_trylock
(
&
fi
->
state_mutex
))
if
(
!
mutex_trylock
(
&
fi
->
state_mutex
))
{
free_pending_request
(
req
);
return
-
EAGAIN
;
}
switch
(
fi
->
state
)
{
case
opened
:
...
...
drivers/ieee1394/sbp2.c
View file @
7e27f259
...
...
@@ -372,8 +372,7 @@ static const struct {
/* DViCO Momobay FX-3A with TSB42AA9A bridge */
{
.
firmware_revision
=
0x002800
,
.
model
=
0x000000
,
.
workarounds
=
SBP2_WORKAROUND_DELAY_INQUIRY
|
SBP2_WORKAROUND_POWER_CONDITION
,
.
workarounds
=
SBP2_WORKAROUND_POWER_CONDITION
,
},
/* Initio bridges, actually only needed for some older ones */
{
.
firmware_revision
=
0x000200
,
...
...
include/linux/firewire.h
View file @
7e27f259
...
...
@@ -134,20 +134,6 @@ struct fw_card {
u32
topology_map
[(
CSR_TOPOLOGY_MAP_END
-
CSR_TOPOLOGY_MAP
)
/
4
];
};
static
inline
struct
fw_card
*
fw_card_get
(
struct
fw_card
*
card
)
{
kref_get
(
&
card
->
kref
);
return
card
;
}
void
fw_card_release
(
struct
kref
*
kref
);
static
inline
void
fw_card_put
(
struct
fw_card
*
card
)
{
kref_put
(
&
card
->
kref
,
fw_card_release
);
}
struct
fw_attribute_group
{
struct
attribute_group
*
groups
[
2
];
struct
attribute_group
group
;
...
...
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