Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a792cd12 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'firedtv-merge' of...

Merge branch 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'firedtv-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firedtv: dvb_frontend_info for FireDTV S2, fix "frequency limits undefined" error
  firedtv: massive refactoring
  firedtv: rename files, variables, functions from firesat to firedtv
  firedtv: Use DEFINE_SPINLOCK
  firedtv: fix registration - adapter number could only be zero
  firedtv: use length_field() of PMT as length
  firedtv: fix returned struct for ca_info
  firedtv: cleanups and minor fixes
  ieee1394: remove superfluous assertions
  ieee1394: inherit ud vendor_id from node vendor_id
  ieee1394: add hpsb_node_read() and hpsb_node_lock()
  ieee1394: use correct barrier types between accesses of nodeid and generation
  firesat: copyrights, rename to firedtv, API conversions, fix remote control input
  firesat: avc resend
  firesat: update isochronous interface, add CI support
  firesat: add DVB-S support for DVB-S2 devices
  firesat: fix DVB-S2 device recognition
  DVB: add firesat driver
parents 4daa0682 e73bf9f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@

#include <asm/types.h>

struct file;
struct pci_dev;
struct scatterlist;
struct vm_area_struct;
+1 −0
Original line number Diff line number Diff line
@@ -1314,6 +1314,7 @@ EXPORT_SYMBOL(hpsb_make_lock64packet);
EXPORT_SYMBOL(hpsb_make_phypacket);
EXPORT_SYMBOL(hpsb_read);
EXPORT_SYMBOL(hpsb_write);
EXPORT_SYMBOL(hpsb_lock);
EXPORT_SYMBOL(hpsb_packet_success);

/** highlevel.c **/
+27 −4
Original line number Diff line number Diff line
@@ -501,8 +501,6 @@ int hpsb_read(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	if (length == 0)
		return -EINVAL;

	BUG_ON(in_interrupt());	// We can't be called in an interrupt, yet

	packet = hpsb_make_readpacket(host, node, addr, length);

	if (!packet) {
@@ -550,8 +548,6 @@ int hpsb_write(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	if (length == 0)
		return -EINVAL;

	BUG_ON(in_interrupt());	// We can't be called in an interrupt, yet

	packet = hpsb_make_writepacket(host, node, addr, buffer, length);

	if (!packet)
@@ -570,3 +566,30 @@ int hpsb_write(struct hpsb_host *host, nodeid_t node, unsigned int generation,

	return retval;
}

int hpsb_lock(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	      u64 addr, int extcode, quadlet_t *data, quadlet_t arg)
{
	struct hpsb_packet *packet;
	int retval = 0;

	packet = hpsb_make_lockpacket(host, node, addr, extcode, data, arg);
	if (!packet)
		return -ENOMEM;

	packet->generation = generation;
	retval = hpsb_send_packet_and_wait(packet);
	if (retval < 0)
		goto hpsb_lock_fail;

	retval = hpsb_packet_success(packet);

	if (retval == 0)
		*data = packet->data[0];

hpsb_lock_fail:
	hpsb_free_tlabel(packet);
	hpsb_free_packet(packet);

	return retval;
}
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ int hpsb_read(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	      u64 addr, quadlet_t *buffer, size_t length);
int hpsb_write(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	       u64 addr, quadlet_t *buffer, size_t length);
int hpsb_lock(struct hpsb_host *host, nodeid_t node, unsigned int generation,
	      u64 addr, int extcode, quadlet_t *data, quadlet_t arg);

#ifdef HPSB_DEBUG_TLABELS
extern spinlock_t hpsb_tlabel_lock;
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#define IEEE1394_ISO_H

#include <linux/spinlock_types.h>
#include <linux/wait.h>
#include <asm/atomic.h>
#include <asm/types.h>

Loading