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

Commit 1c3d7700 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull firewire updates from Stefan Richter:
 "IEEE 1394 subsystem patches:

   - move away from outmoded timekeeping API
   - error reporting fix
   - documentation bits"

* tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  firewire: ABI documentation: libhinawa uses firewire-cdev
  firewire: ABI documentation: jujuutils were renamed to linux-firewire-utils
  firewire: ohci: propagate return code from soft_reset to probe and resume
  firewire: nosy: Replace timeval with timespec64
parents 3c2de27d e38e5ce8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -100,4 +100,5 @@ Description:

Users:		libraw1394
		libdc1394
		tools like jujuutils, fwhack, ...
		libhinawa
		tools like linux-firewire-utils, fwhack, ...
+6 −4
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include <linux/sched.h> /* required for linux/wait.h */
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/time64.h>
#include <linux/timex.h>
#include <linux/uaccess.h>
#include <linux/wait.h>
@@ -413,17 +414,18 @@ static void
packet_irq_handler(struct pcilynx *lynx)
{
	struct client *client;
	u32 tcode_mask, tcode;
	u32 tcode_mask, tcode, timestamp;
	size_t length;
	struct timeval tv;
	struct timespec64 ts64;

	/* FIXME: Also report rcv_speed. */

	length = __le32_to_cpu(lynx->rcv_pcl->pcl_status) & 0x00001fff;
	tcode  = __le32_to_cpu(lynx->rcv_buffer[1]) >> 4 & 0xf;

	do_gettimeofday(&tv);
	lynx->rcv_buffer[0] = (__force __le32)tv.tv_usec;
	ktime_get_real_ts64(&ts64);
	timestamp = ts64.tv_nsec / NSEC_PER_USEC;
	lynx->rcv_buffer[0] = (__force __le32)timestamp;

	if (length == PHY_PACKET_SIZE)
		tcode_mask = 1 << TCODE_PHY_PACKET;
+3 −2
Original line number Diff line number Diff line
@@ -2278,9 +2278,10 @@ static int ohci_enable(struct fw_card *card,
	u32 lps, version, irqs;
	int i, ret;

	if (software_reset(ohci)) {
	ret = software_reset(ohci);
	if (ret < 0) {
		ohci_err(ohci, "failed to reset ohci card\n");
		return -EBUSY;
		return ret;
	}

	/*