[haiku-commits] haiku: hrev52198 - in src/add-ons/kernel: bus_managers/usb drivers/network/usb_ecm file_systems/packagefs/package file_systems/packagefs/nodes drivers

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 8 Aug 2018 23:52:25 -0400 (EDT)

hrev52198 adds 4 changesets to branch 'master'
old head: 1a3a6135846140e9c2005a186099f54dd0307f9c
new head: 779d9140a472e737daccfc810f444b0981e05ac2
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=779d9140a472+%5E1a3a61358461

----------------------------------------------------------------------------

ce0ef8c87004: USB: Remove BeOSCompatibility.h and associated cruft.

f6ff5a9790ae: headers/private: Fix wrong filemode.

d8ad2d6f330d: packagefs: Rename operator< to HasPrecendenceOver().
  
  As suggested by weinhold on the mailing list.

779d9140a472: radeon_hd: The MMIO area should be user-cloneable.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

17 files changed, 28 insertions(+), 314 deletions(-)
headers/private/system/convertutf.h              |   0
.../kernel/bus_managers/usb/BeOSCompatibility.h  | 212 -------------------
src/add-ons/kernel/bus_managers/usb/Jamfile      |   7 -
.../bus_managers/usb/PhysicalMemoryAllocator.cpp |   2 +-
.../kernel/bus_managers/usb/usb_private.h        |   1 -
src/add-ons/kernel/drivers/bus/usb/Jamfile       |   1 -
src/add-ons/kernel/drivers/bus/usb/usb_raw.cpp   |   3 +-
.../drivers/graphics/radeon_hd/radeon_hd.cpp     |   3 +-
.../drivers/network/usb_ecm/BeOSCompatibility.h  |  59 ------
.../kernel/drivers/network/usb_ecm/Driver.cpp    |   7 +-
.../kernel/drivers/network/usb_ecm/ECMDevice.cpp |   1 -
.../packagefs/nodes/UnpackingDirectory.cpp       |   7 +-
.../packagefs/nodes/UnpackingLeafNode.cpp        |   8 +-
.../packagefs/package/PackageDirectory.cpp       |  12 +-
.../packagefs/package/PackageDirectory.h         |   5 +-
.../packagefs/package/PackageNode.cpp            |  10 +-
.../file_systems/packagefs/package/PackageNode.h |   4 +-

############################################################################

Commit:      ce0ef8c870044c4d638e2f17bb67b6c48a9cf115
URL:         https://git.haiku-os.org/haiku/commit/?id=ce0ef8c87004
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Tue Aug  7 21:57:23 2018 UTC

USB: Remove BeOSCompatibility.h and associated cruft.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h 
b/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h
deleted file mode 100644
index 0e07d138fa..0000000000
--- a/src/add-ons/kernel/bus_managers/usb/BeOSCompatibility.h
+++ /dev/null
@@ -1,212 +0,0 @@
-#ifndef _USB_BEOS_COMPATIBILITY_H_
-#define _USB_BEOS_COMPATIBILITY_H_
-#ifndef HAIKU_TARGET_PLATFORM_HAIKU
-
-// prevent inclusion of original lock.h as it conflicts with what we have here
-#define _KERNEL_LOCK_H
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <OS.h>
-
-#define IS_USER_ADDRESS(x)             (((uint32)x & 0x80000000) > 0)
-#define IS_KERNEL_ADDRESS(x)   (((uint32)x & 0x80000000) == 0)
-#define B_SPINLOCK_INITIALIZER 0
-#define PCI_usb_ehci                   0x20
-
-#ifndef HAIKU_TARGET_PLATFORM_DANO
-enum {
-       B_DEV_INVALID_PIPE = B_DEV_DOOR_OPEN + 1,
-       B_DEV_CRC_ERROR,
-       B_DEV_STALLED,
-       B_DEV_BAD_PID,
-       B_DEV_UNEXPECTED_PID,
-       B_DEV_DATA_OVERRUN,
-       B_DEV_DATA_UNDERRUN,
-       B_DEV_FIFO_OVERRUN,
-       B_DEV_FIFO_UNDERRUN,
-       B_DEV_PENDING,
-       B_DEV_MULTIPLE_ERRORS,
-       B_DEV_TOO_LATE,
-};
-#endif
-
-// wrong, but it won't change for BeOS anymore
-typedef uint32 addr_t;
-
-
-typedef struct mutex {
-       sem_id  sem;
-       int32   count;
-} mutex;
-
-
-inline status_t
-mutex_init(mutex *ben, const char *name)
-{
-       if (ben == NULL || name == NULL)
-               return B_BAD_VALUE;
-
-       ben->count = 1;
-       ben->sem = create_sem(0, name);
-       if (ben->sem >= B_OK)
-               return B_OK;
-
-       return ben->sem;
-}
-
-
-#define MUTEX_FLAG_CLONE_NAME 1
-inline status_t
-mutex_init_etc(mutex *ben, const char *name, int32 flags)
-{
-       return mutex_init(ben, name);
-}
-
-
-inline void
-mutex_destroy(mutex *ben)
-{
-       delete_sem(ben->sem);
-       ben->sem = -1;
-}
-
-
-inline status_t
-mutex_lock(mutex *ben)
-{
-       if (atomic_add(&ben->count, -1) <= 0)
-               return acquire_sem(ben->sem);
-       return B_OK;
-}
-
-
-inline status_t
-mutex_unlock(mutex *ben)
-{
-       if (atomic_add(&ben->count, 1) < 0)
-               return release_sem(ben->sem);
-       return B_OK;
-}
-
-
-class ConditionVariableEntry {
-public:
-       ConditionVariableEntry()
-               :       fSem(-1)
-       {
-       }
-
-       ~ConditionVariableEntry()
-       {
-               if (fSem >= 0)
-                       delete_sem(fSem);
-       }
-
-       sem_id Added()
-       {
-               if (fSem < 0)
-                       fSem = create_sem(0, "condvar entry");
-               return fSem;
-       }
-
-       status_t Wait(uint32 flags, bigtime_t timeout)
-       {
-               return acquire_sem_etc(fSem, 1, flags, timeout);
-       }
-
-private:
-       sem_id                                  fSem;
-};
-
-
-class ConditionVariable {
-public:
-       ConditionVariable()
-               :       fObject(NULL),
-                       fName("condvar"),
-                       fSemCount(0)
-       {
-       }
-
-       void Init(void *object, const char *name)
-       {
-               fObject = object;
-               fName = name;
-       }
-
-       void Add(ConditionVariableEntry *entry)
-       {
-               fSems[fSemCount++] = entry->Added();
-       }
-
-       void NotifyAll()
-       {
-               int32 semCount = fSemCount;
-               sem_id sems[semCount];
-               memcpy(sems, fSems, sizeof(sem_id) * semCount);
-               fSemCount = 0;
-
-               for (int32 i = 0; i < semCount; i++)
-                       release_sem(sems[i]);
-       }
-
-private:
-       void *          fObject;
-       const char *fName;
-       sem_id          fSems[30];
-       int32           fSemCount;
-};
-
-
-inline void
-load_driver_symbols(char *driver)
-{
-       /* nothing */
-}
-
-
-inline int
-snprintf(char *buffer, size_t bufferSize, const char *format, ...)
-{
-       va_list args;
-       va_start(args, format);
-       int result = vsprintf(buffer, format, args);
-       va_end(args);
-       return result;
-}
-
-
-inline int32
-atomic_get(vint32 *value)
-{
-       return atomic_or(value, 0);
-}
-
-
-inline int32
-atomic_set(vint32 *value, int32 setValue)
-{
-       int32 result = atomic_and(value, 0);
-       int32 previous = atomic_add(value, setValue);
-       if (previous != 0)
-               result = previous;
-       return result;
-}
-
-
-inline status_t
-user_memcpy(void *target, void *source, size_t length)
-{
-       memcpy(target, source, length);
-       return B_OK;
-}
-
-
-#undef B_KERNEL_READ_AREA
-#define B_KERNEL_READ_AREA 0
-#undef B_KERNEL_WRITE_AREA
-#define B_KERNEL_WRITE_AREA 0
-
-#endif // !HAIKU_TARGET_PLATFORM_HAIKU
-#endif // !_USB_BEOS_COMPATIBILITY_H_
diff --git a/src/add-ons/kernel/bus_managers/usb/Jamfile 
b/src/add-ons/kernel/bus_managers/usb/Jamfile
index ba59803867..0a93de0f5e 100644
--- a/src/add-ons/kernel/bus_managers/usb/Jamfile
+++ b/src/add-ons/kernel/bus_managers/usb/Jamfile
@@ -4,9 +4,6 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
 
 SubDirC++Flags -fno-rtti ;
 
-local compatSources ;
-
-SubDirSysHdrs $(SUBDIR) ;
 UsePrivateKernelHeaders ;
 
 KernelStaticLibrary libusb.a :
@@ -19,7 +16,6 @@ KernelStaticLibrary libusb.a :
        Interface.cpp
        Object.cpp
        PhysicalMemoryAllocator.cpp
-       $(compatSources)
 ;
 
 KernelAddon usb :
@@ -27,6 +23,3 @@ KernelAddon usb :
        : libusb.a
        : usb.rdef
        ;
-
-SEARCH on [ FGristFiles $(compatSources) ]
-       = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
diff --git a/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp 
b/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp
index 1948ef1100..b80d919ac3 100644
--- a/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp
+++ b/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp
@@ -11,7 +11,7 @@
 #include <KernelExport.h>
 #include <SupportDefs.h>
 #include <util/kernel_cpp.h>
-#include "BeOSCompatibility.h"
+
 #include "PhysicalMemoryAllocator.h"
 
 
diff --git a/src/add-ons/kernel/bus_managers/usb/usb_private.h 
b/src/add-ons/kernel/bus_managers/usb/usb_private.h
index 49f7e18157..93279c0865 100644
--- a/src/add-ons/kernel/bus_managers/usb/usb_private.h
+++ b/src/add-ons/kernel/bus_managers/usb/usb_private.h
@@ -9,7 +9,6 @@
 #ifndef _USB_PRIVATE_H
 #define _USB_PRIVATE_H
 
-#include "BeOSCompatibility.h"
 #include "usbspec_private.h"
 #include <lock.h>
 #include <util/Vector.h>
diff --git a/src/add-ons/kernel/drivers/bus/usb/Jamfile 
b/src/add-ons/kernel/drivers/bus/usb/Jamfile
index 438e3410f3..388e0e53d3 100644
--- a/src/add-ons/kernel/drivers/bus/usb/Jamfile
+++ b/src/add-ons/kernel/drivers/bus/usb/Jamfile
@@ -2,7 +2,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers bus usb ;
 
 SetSubDirSupportedPlatformsBeOSCompatible ;
 
-SubDirSysHdrs $(HAIKU_TOP) src add-ons kernel bus_managers usb ;
 UsePrivateKernelHeaders ;
 
 KernelAddon usb_raw :
diff --git a/src/add-ons/kernel/drivers/bus/usb/usb_raw.cpp 
b/src/add-ons/kernel/drivers/bus/usb/usb_raw.cpp
index e1ffe37660..cd7caabb34 100644
--- a/src/add-ons/kernel/drivers/bus/usb/usb_raw.cpp
+++ b/src/add-ons/kernel/drivers/bus/usb/usb_raw.cpp
@@ -6,7 +6,6 @@
  *             Michael Lotz <mmlr@xxxxxxxx>
  */
 
-#include "BeOSCompatibility.h"
 #include "usb_raw.h"
 
 #include <KernelExport.h>
@@ -883,7 +882,7 @@ usb_raw_write(void *cookie, off_t position, const void 
*buffer, size_t *length)
 //
 
 
-status_t 
+status_t
 init_hardware()
 {
        TRACE((DRIVER_NAME": init_hardware()\n"));
diff --git a/src/add-ons/kernel/drivers/network/usb_ecm/BeOSCompatibility.h 
b/src/add-ons/kernel/drivers/network/usb_ecm/BeOSCompatibility.h
deleted file mode 100644
index 74f5b2af4f..0000000000
--- a/src/add-ons/kernel/drivers/network/usb_ecm/BeOSCompatibility.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-       Driver for USB Ethernet Control Model devices
-       Copyright (C) 2008 Michael Lotz <mmlr@xxxxxxxx>
-       Distributed under the terms of the MIT license.
-*/
-#ifndef HAIKU_TARGET_PLATFORM_HAIKU
-#ifndef _BEOS_COMPATIBILITY_H_
-#define _BEOS_COMPATIBILITY_H_
-
-#include <OS.h>
-
-#define USB_ENDPOINT_ATTR_CONTROL              0x00
-#define USB_ENDPOINT_ATTR_ISOCHRONOUS  0x01
-#define USB_ENDPOINT_ATTR_BULK                 0x02 
-#define USB_ENDPOINT_ATTR_INTERRUPT            0x03 
-#define USB_ENDPOINT_ATTR_MASK                 0x03 
-
-#define USB_ENDPOINT_ADDR_DIR_IN               0x80
-#define USB_ENDPOINT_ADDR_DIR_OUT              0x00
-
-typedef struct mutex {
-       sem_id  sem;
-       int32   count;
-} mutex;
-
-
-static inline void
-mutex_init(mutex *lock, const char *name)
-{
-       lock->sem = create_sem(0, name);
-       lock->count = 0;
-}
-
-
-static inline void
-mutex_destroy(mutex *lock)
-{
-       delete_sem(lock->sem);
-}
-
-
-static inline status_t
-mutex_lock(mutex *lock)
-{
-       if (atomic_add(&lock->count, -1) < 0)
-               return acquire_sem(lock->sem);
-       return B_OK;
-}
-
-
-static inline void
-mutex_unlock(mutex *lock)
-{
-       if (atomic_add(&lock->count, 1) < -1)
-               release_sem(lock->sem);
-}
-
-#endif /* !HAIKU_TARGET_PLATFORM_HAIKU */
-#endif /* _BEOS_COMPATIBILITY_H_ */
diff --git a/src/add-ons/kernel/drivers/network/usb_ecm/Driver.cpp 
b/src/add-ons/kernel/drivers/network/usb_ecm/Driver.cpp
index ac25820d04..c88831195a 100644
--- a/src/add-ons/kernel/drivers/network/usb_ecm/Driver.cpp
+++ b/src/add-ons/kernel/drivers/network/usb_ecm/Driver.cpp
@@ -6,12 +6,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-
-#ifdef HAIKU_TARGET_PLATFORM_HAIKU
-#include <lock.h> // for mutex
-#else
-#include "BeOSCompatibility.h" // for pseudo mutex
-#endif
+#include <lock.h>
 
 #include "Driver.h"
 #include "ECMDevice.h"
diff --git a/src/add-ons/kernel/drivers/network/usb_ecm/ECMDevice.cpp 
b/src/add-ons/kernel/drivers/network/usb_ecm/ECMDevice.cpp
index e466cffd1a..906cad12fa 100644
--- a/src/add-ons/kernel/drivers/network/usb_ecm/ECMDevice.cpp
+++ b/src/add-ons/kernel/drivers/network/usb_ecm/ECMDevice.cpp
@@ -8,7 +8,6 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include "BeOSCompatibility.h"
 #include "ECMDevice.h"
 #include "Driver.h"
 

############################################################################

Commit:      f6ff5a9790ae61869c69be544827b2a4202be9fb
URL:         https://git.haiku-os.org/haiku/commit/?id=f6ff5a9790ae
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Tue Aug  7 22:07:14 2018 UTC

headers/private: Fix wrong filemode.

----------------------------------------------------------------------------

diff --git a/headers/private/system/convertutf.h 
b/headers/private/system/convertutf.h
old mode 100755
new mode 100644

############################################################################

Commit:      d8ad2d6f330daec77730d0b2dbff36e139cb6c46
URL:         https://git.haiku-os.org/haiku/commit/?id=d8ad2d6f330d
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Aug  9 03:41:37 2018 UTC

packagefs: Rename operator< to HasPrecendenceOver().

As suggested by weinhold on the mailing list.

----------------------------------------------------------------------------

diff --git 
a/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingDirectory.cpp 
b/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingDirectory.cpp
index 0f322453e5..fae42662fb 100644
--- a/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingDirectory.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingDirectory.cpp
@@ -108,7 +108,8 @@ UnpackingDirectory::AddPackageNode(PackageNode* 
packageNode, dev_t deviceID)
                = dynamic_cast<PackageDirectory*>(packageNode);
 
        PackageDirectory* other = fPackageDirectories.Head();
-       bool overridesHead = other == NULL || *packageDirectory > *other;
+       bool overridesHead = other == NULL
+               || packageDirectory->HasPrecedenceOver(other);
 
        if (overridesHead) {
                fPackageDirectories.Insert(other, packageDirectory);
@@ -134,7 +135,7 @@ UnpackingDirectory::RemovePackageNode(PackageNode* 
packageNode, dev_t deviceID)
                it.Next();
                        // skip the first one
                while (PackageDirectory* otherNode = it.Next()) {
-                       if (*otherNode > *newestNode)
+                       if (otherNode->HasPrecedenceOver(newestNode))
                                newestNode = otherNode;
                }
 
@@ -169,7 +170,7 @@ UnpackingDirectory::WillBeFirstPackageNode(PackageNode* 
packageNode) const
                return false;
 
        PackageDirectory* other = fPackageDirectories.Head();
-       return other == NULL || *packageDirectory > *other;
+       return other == NULL || packageDirectory->HasPrecedenceOver(other);
 }
 
 
diff --git 
a/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp 
b/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp
index 86ddcafd27..fc7781a19a 100644
--- a/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp
@@ -116,7 +116,8 @@ UnpackingLeafNode::AddPackageNode(PackageNode* packageNode, 
dev_t deviceID)
                = dynamic_cast<PackageLeafNode*>(packageNode);
 
        PackageLeafNode* headNode = fPackageNodes.Head();
-       bool overridesHead = headNode == NULL || *packageLeafNode > *headNode;
+       bool overridesHead = headNode == NULL
+               || packageLeafNode->HasPrecedenceOver(headNode);
 
        if (overridesHead) {
                fPackageNodes.Add(packageLeafNode);
@@ -148,7 +149,7 @@ UnpackingLeafNode::RemovePackageNode(PackageNode* 
packageNode, dev_t deviceID)
                it.Next();
                        // skip the first one
                while (PackageLeafNode* otherNode = it.Next()) {
-                       if (*otherNode > *newestNode)
+                       if (otherNode->HasPrecedenceOver(newestNode))
                                newestNode = otherNode;
                }
 
@@ -186,7 +187,8 @@ UnpackingLeafNode::WillBeFirstPackageNode(PackageNode* 
packageNode) const
                return false;
 
        PackageLeafNode* headNode = fPackageNodes.Head();
-       return headNode == NULL || *packageLeafNode > *headNode;
+       return headNode == NULL
+               || packageLeafNode->ModifiedTime() > headNode->ModifiedTime();
 }
 
 void
diff --git 
a/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.cpp 
b/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.cpp
index 2cfaaff884..916c42decd 100644
--- a/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.cpp
@@ -39,19 +39,19 @@ PackageDirectory::RemoveChild(PackageNode* node)
 
 
 bool
-PackageDirectory::operator<(const PackageDirectory& other) const
+PackageDirectory::HasPrecedenceOver(const PackageDirectory* other) const
 {
        // If one of us has the SYSTEM_PACKAGE flag and the other doesn't,
        // let PackageNode take care of the comparison.
        if ((fPackageFlags & BPackageKit::B_PACKAGE_FLAG_SYSTEM_PACKAGE)
-                       != (other.fPackageFlags
+                       != (other->fPackageFlags
                                & BPackageKit::B_PACKAGE_FLAG_SYSTEM_PACKAGE)) {
-               return PackageNode::operator<(other);
+               return PackageNode::HasPrecedenceOver(other);
        }
 
        const int32 attrs = fAttributes.Count(),
-               otherAttrs = other.fAttributes.Count();
+               otherAttrs = other->fAttributes.Count();
        if (attrs != otherAttrs)
-               return attrs < otherAttrs;
-       return PackageNode::operator<(other);
+               return attrs > otherAttrs;
+       return PackageNode::HasPrecedenceOver(other);
 }
diff --git 
a/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.h 
b/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.h
index 6f2ddad140..d851ae3ded 100644
--- a/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.h
+++ b/src/add-ons/kernel/file_systems/packagefs/package/PackageDirectory.h
@@ -26,9 +26,8 @@ public:
                        const PackageNodeList& Children() const
                                                                        { 
return fChildren; }
 
-                       bool                            operator<(const 
PackageDirectory& other) const;
-       inline  bool                            operator>(const 
PackageDirectory& other) const
-                                                                       { 
return other < *this; }
+                       bool                            HasPrecedenceOver(const 
PackageDirectory* other)
+                                                                       const;
 
 private:
                        PackageNodeList         fChildren;
diff --git a/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.cpp 
b/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.cpp
index f299089125..c7ed3a5def 100644
--- a/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.cpp
@@ -106,15 +106,15 @@ PackageNode::UnsetIndexCookie(void* attributeCookie)
 
 
 bool
-PackageNode::operator<(const PackageNode& other) const
+PackageNode::HasPrecedenceOver(const PackageNode* other) const
 {
        const bool isSystemPkg = (fPackageFlags
                        & BPackageKit::B_PACKAGE_FLAG_SYSTEM_PACKAGE) != 0,
-               otherIsSystemPkg = (other.fPackageFlags
+               otherIsSystemPkg = (other->fPackageFlags
                        & BPackageKit::B_PACKAGE_FLAG_SYSTEM_PACKAGE) != 0;
        if (isSystemPkg && !otherIsSystemPkg)
-               return false;
-       if (!isSystemPkg && otherIsSystemPkg)
                return true;
-       return fModifiedTime < other.fModifiedTime;
+       if (!isSystemPkg && otherIsSystemPkg)
+               return false;
+       return fModifiedTime > other->fModifiedTime;
 }
diff --git a/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.h 
b/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.h
index 7b1e99c782..5c770dd755 100644
--- a/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.h
+++ b/src/add-ons/kernel/file_systems/packagefs/package/PackageNode.h
@@ -73,9 +73,7 @@ public:
        inline  void*                           IndexCookieForAttribute(const 
StringKey& name)
                                                                        const;
 
-                       bool                            operator<(const 
PackageNode& other) const;
-       inline  bool                            operator>(const PackageNode& 
other) const
-                                                                       { 
return other < *this; }
+                       bool                            HasPrecedenceOver(const 
PackageNode* other) const;
 
                        // conceptually protected, but actually declaring it so 
causes
                        // compilation issues when used with MethodDeleter in 
subclasses

############################################################################

Revision:    hrev52198
Commit:      779d9140a472e737daccfc810f444b0981e05ac2
URL:         https://git.haiku-os.org/haiku/commit/?id=779d9140a472
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Aug  9 03:51:36 2018 UTC

radeon_hd: The MMIO area should be user-cloneable.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp 
b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
index e2391c0165..95acac3b44 100644
--- a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
+++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp
@@ -559,7 +559,8 @@ radeon_hd_init(radeon_info &info)
        info.registers_area = mmioMapper.Map("radeon hd mmio",
                info.pci->u.h0.base_registers[pciBarMmio],
                info.pci->u.h0.base_register_sizes[pciBarMmio],
-               B_ANY_KERNEL_ADDRESS, B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA,
+               B_ANY_KERNEL_ADDRESS,
+               B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | 
B_USER_CLONEABLE_AREA,
                (void**)&info.registers);
        if (mmioMapper.InitCheck() < B_OK) {
                ERROR("%s: card (%ld): couldn't map memory I/O!\n",


Other related posts:

  • » [haiku-commits] haiku: hrev52198 - in src/add-ons/kernel: bus_managers/usb drivers/network/usb_ecm file_systems/packagefs/package file_systems/packagefs/nodes drivers - waddlesplash