Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: core: use more outbound tlabels
  firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met
  firewire: core: prepare for non-core children of card devices
  firewire: core: include linux/uaccess.h instead of asm/uaccess.h
  firewire: add parent-of-unit accessor
  firewire: rename source files
  firewire: reorganize header files
  firewire: clean up includes
  firewire: ohci: access bus_seconds atomically
  firewire: also use vendor ID in root directory for driver matches
  firewire: share device ID table type with ieee1394
  firewire: core: add sysfs attribute for easier udev rules
  firewire: core: check for missing struct update at build time, not run time
  firewire: core: improve check for local node
  • Loading branch information
Linus Torvalds committed Jun 16, 2009
2 parents 2f38d70 + 1e626fd commit f83b1e6
Show file tree
Hide file tree
Showing 15 changed files with 902 additions and 829 deletions.
8 changes: 4 additions & 4 deletions drivers/firewire/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Makefile for the Linux IEEE 1394 implementation
#

firewire-core-y += fw-card.o fw-topology.o fw-transaction.o fw-iso.o \
fw-device.o fw-cdev.o
firewire-ohci-y += fw-ohci.o
firewire-sbp2-y += fw-sbp2.o
firewire-core-y += core-card.o core-cdev.o core-device.o \
core-iso.o core-topology.o core-transaction.o
firewire-ohci-y += ohci.o
firewire-sbp2-y += sbp2.o

obj-$(CONFIG_FIREWIRE) += firewire-core.o
obj-$(CONFIG_FIREWIRE_OHCI) += firewire-ohci.o
Expand Down
25 changes: 14 additions & 11 deletions drivers/firewire/fw-card.c → drivers/firewire/core-card.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,27 @@
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#include <linux/bug.h>
#include <linux/completion.h>
#include <linux/crc-itu-t.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/firewire.h>
#include <linux/firewire-constants.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/kref.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/spinlock.h>
#include <linux/timer.h>
#include <linux/workqueue.h>

#include "fw-transaction.h"
#include "fw-topology.h"
#include "fw-device.h"
#include <asm/atomic.h>
#include <asm/byteorder.h>

#include "core.h"

int fw_compute_block_crc(u32 *block)
{
Expand Down Expand Up @@ -181,12 +190,6 @@ void fw_core_remove_descriptor(struct fw_descriptor *desc)
mutex_unlock(&card_mutex);
}

static int set_broadcast_channel(struct device *dev, void *data)
{
fw_device_set_broadcast_channel(fw_device(dev), (long)data);
return 0;
}

static void allocate_broadcast_channel(struct fw_card *card, int generation)
{
int channel, bandwidth = 0;
Expand All @@ -196,7 +199,7 @@ static void allocate_broadcast_channel(struct fw_card *card, int generation)
if (channel == 31) {
card->broadcast_channel_allocated = true;
device_for_each_child(card->device, (void *)(long)generation,
set_broadcast_channel);
fw_device_set_broadcast_channel);
}
}

Expand Down
13 changes: 4 additions & 9 deletions drivers/firewire/fw-cdev.c → drivers/firewire/core-cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/firewire.h>
#include <linux/firewire-cdev.h>
#include <linux/idr.h>
#include <linux/jiffies.h>
Expand All @@ -34,16 +35,14 @@
#include <linux/preempt.h>
#include <linux/spinlock.h>
#include <linux/time.h>
#include <linux/uaccess.h>
#include <linux/vmalloc.h>
#include <linux/wait.h>
#include <linux/workqueue.h>

#include <asm/system.h>
#include <asm/uaccess.h>

#include "fw-device.h"
#include "fw-topology.h"
#include "fw-transaction.h"
#include "core.h"

struct client {
u32 version;
Expand Down Expand Up @@ -739,15 +738,11 @@ static void release_descriptor(struct client *client,
static int ioctl_add_descriptor(struct client *client, void *buffer)
{
struct fw_cdev_add_descriptor *request = buffer;
struct fw_card *card = client->device->card;
struct descriptor_resource *r;
int ret;

/* Access policy: Allow this ioctl only on local nodes' device files. */
spin_lock_irq(&card->lock);
ret = client->device->node_id != card->local_node->node_id;
spin_unlock_irq(&card->lock);
if (ret)
if (!client->device->is_local)
return -ENOSYS;

if (request->length > 256)
Expand Down
Loading

0 comments on commit f83b1e6

Please sign in to comment.