Summary: | [patch] sysutils/hal: MMC/SD support and USB fix | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Alberto Villa <avilla> | ||||
Component: | Individual Port(s) | Assignee: | Alberto Villa <avilla> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | ||||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Alberto Villa
2013-10-23 13:00:01 UTC
Responsible Changed From-To: freebsd-ports-bugs->gnome Over to maintainer (via the GNATS Auto Assign Tool) Responsible Changed From-To: gnome->avilla Taking after maintainer timeout. Author: avilla Date: Tue Nov 12 17:35:53 2013 New Revision: 333593 URL: http://svnweb.freebsd.org/changeset/ports/333593 Log: - Fix USB storage detection. - Add MMC/SD support. - Update LIB_DEPENDS to new format. PR: 183236 Submitted by: avilla (myself) Approved by: gnome (maintainer timeout) - Fix plist when PREFIX != LOCALBASE Reported by: poudriere testport Added: head/sysutils/hal/files/patch-hald_freebsd_Makefile.in (contents, props changed) head/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c (contents, props changed) head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.c (contents, props changed) head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.h (contents, props changed) head/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c (contents, props changed) Modified: head/sysutils/hal/Makefile head/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c (contents, props changed) head/sysutils/hal/pkg-plist Modified: head/sysutils/hal/Makefile ============================================================================== --- head/sysutils/hal/Makefile Tue Nov 12 17:30:33 2013 (r333592) +++ head/sysutils/hal/Makefile Tue Nov 12 17:35:53 2013 (r333593) @@ -4,7 +4,7 @@ PORTNAME= hal DISTVERSION= 0.5.14 -PORTREVISION= 21 +PORTREVISION= 22 CATEGORIES= sysutils MASTER_SITES= http://hal.freedesktop.org/releases/ @@ -13,9 +13,9 @@ COMMENT= Hardware Abstraction Layer for BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat # keep shlib version, to prevent confusion with polkit-* from sysutils/polkit -LIB_DEPENDS= polkit.2:${PORTSDIR}/sysutils/policykit \ - volume_id:${PORTSDIR}/devel/libvolume_id \ - ck-connector:${PORTSDIR}/sysutils/consolekit +LIB_DEPENDS= libpolkit.so.2:${PORTSDIR}/sysutils/policykit \ + libvolume_id.so:${PORTSDIR}/devel/libvolume_id \ + libck-connector.so:${PORTSDIR}/sysutils/consolekit RUN_DEPENDS= ${LOCALBASE}/share/pciids/pci.ids:${PORTSDIR}/misc/pciids USES= pathfix gettext gmake pkgconfig Added: head/sysutils/hal/files/patch-hald_freebsd_Makefile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/hal/files/patch-hald_freebsd_Makefile.in Tue Nov 12 17:35:53 2013 (r333593) @@ -0,0 +1,36 @@ +--- ./hald/freebsd/Makefile.in.orig 2009-11-30 23:22:38.000000000 +0100 ++++ ./hald/freebsd/Makefile.in 2013-10-22 02:07:00.268399458 +0200 +@@ -59,13 +59,14 @@ + hf-pcmcia.c hf-pcmcia.h hf-scsi.c hf-scsi.h hf-serial.c \ + hf-serial.h hf-sound.c hf-sound.h hf-storage.c hf-storage.h \ + hf-usb.c hf-usb.h hf-util.c hf-util.h hf-volume.c hf-volume.h \ +- osspec.c hal-file-monitor.c hf-usb2.c hf-usb2.h ++ osspec.c hal-file-monitor.c hf-usb2.c hf-usb2.h \ ++ hf-memcard.c hf-memcard.h + @HAVE_LIBUSB20_TRUE@am__objects_1 = hf-usb2.lo + am_libhald_freebsd_la_OBJECTS = hf-acpi.lo hf-ata.lo hf-block.lo \ + hf-computer.lo hf-devd.lo hf-devtree.lo hf-drm.lo hf-net.lo \ + hf-pci.lo hf-pcmcia.lo hf-scsi.lo hf-serial.lo hf-sound.lo \ + hf-storage.lo hf-usb.lo hf-util.lo hf-volume.lo osspec.lo \ +- hal-file-monitor.lo $(am__objects_1) ++ hf-memcard.lo hal-file-monitor.lo $(am__objects_1) + libhald_freebsd_la_OBJECTS = $(am_libhald_freebsd_la_OBJECTS) + AM_V_lt = $(am__v_lt_$(V)) + am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +@@ -325,7 +326,7 @@ + hf-scsi.c hf-scsi.h hf-serial.c hf-serial.h hf-sound.c \ + hf-sound.h hf-storage.c hf-storage.h hf-usb.c hf-usb.h \ + hf-util.c hf-util.h hf-volume.c hf-volume.h osspec.c \ +- hal-file-monitor.c $(am__append_1) ++ hf-memcard.c hf-memcard.h hal-file-monitor.c $(am__append_1) + libhald_freebsd_la_LDFLAGS = -lcam $(am__append_2) + EXTRA_DIST = README TODO + all: all-recursive +@@ -388,6 +389,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-devd.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-devtree.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-drm.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-memcard.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-net.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-pci.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-pcmcia.Plo@am__quote@ Added: head/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c Tue Nov 12 17:35:53 2013 (r333593) @@ -0,0 +1,21 @@ +--- ./hald/freebsd/hf-devtree.c.orig 2009-09-17 15:47:14.000000000 +0200 ++++ ./hald/freebsd/hf-devtree.c 2013-10-22 02:16:42.548388644 +0200 +@@ -36,6 +36,7 @@ + #include "hf-ata.h" + #include "hf-block.h" + #include "hf-drm.h" ++#include "hf-memcard.h" + #include "hf-pcmcia.h" + #include "hf-storage.h" + #include "hf-util.h" +@@ -388,7 +389,9 @@ + { "psm", hf_devtree_psm_set_properties }, + { "sio", NULL }, + { "speaker", NULL }, +- { "usbus", NULL } ++ { "usbus", NULL }, ++ { "mmc", hf_mmc_host_set_properties }, ++ { "mmcsd", hf_mmc_set_properties } + }; + + static void Added: head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.c Tue Nov 12 17:35:53 2013 (r333593) @@ -0,0 +1,109 @@ +--- ./hald/freebsd/hf-memcard.c.orig 2013-10-22 01:49:10.228430727 +0200 ++++ ./hald/freebsd/hf-memcard.c 2013-10-22 01:48:06.869268391 +0200 +@@ -0,0 +1,106 @@ ++/*************************************************************************** ++ * CVSID: $Id$ ++ * ++ * hf-memcard.c : memory card support ++ * ++ * Copyright (C) 2013 Alberto Villa <avilla@FreeBSD.org> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ **************************************************************************/ ++ ++#ifdef HAVE_CONFIG_H ++# include <config.h> ++#endif ++ ++#include <string.h> ++#include <errno.h> ++#include <stdlib.h> ++#include <unistd.h> ++ ++#include "../logger.h" ++ ++#include "hf-memcard.h" ++#include "hf-block.h" ++#include "hf-devtree.h" ++#include "hf-storage.h" ++#include "hf-util.h" ++ ++static HalDevice * ++hf_memcard_block_device_new (HalDevice *parent, ++ const char *driver, ++ int unit, ++ const char *drive_type) ++{ ++ HalDevice *device; ++ char devname[16]; ++ ++ snprintf(devname, sizeof(devname), "%s%d", driver, unit); ++ ++ g_return_val_if_fail(HAL_IS_DEVICE(parent), NULL); ++ g_return_val_if_fail(devname != NULL, NULL); ++ ++ device = hf_device_new(parent); ++ ++ hf_devtree_device_set_name(device, devname); ++ hf_block_device_enable(device, devname); ++ ++ hf_storage_device_enable(device); ++ ++ hal_device_copy_property(parent, "info.subsystem", device, "storage.bus"); ++ hal_device_property_set_string(device, "storage.originating_device", hal_device_get_udi(parent)); ++ hal_device_property_set_bool(device, "storage.removable", TRUE); ++ hal_device_property_set_bool(device, "storage.media_check_enabled", TRUE); ++ hal_device_property_set_bool(device, "storage.removable.support_async_notification", FALSE); ++ hal_device_property_set_bool(device, "storage.hotpluggable", TRUE); ++ if (drive_type) ++ { ++ hal_device_property_set_string(device, "storage.drive_type", drive_type); ++ } ++ ++ if (hf_device_preprobe(device)) ++ { ++ hf_block_device_complete(device, device, FALSE); ++ hf_device_add(device); ++ hf_storage_device_probe(device, FALSE); ++ } ++ ++ return device; ++} ++ ++void ++hf_mmc_host_set_properties (HalDevice *device) ++{ ++ hal_device_property_set_string(device, "info.subsystem", "mmc_host"); ++ hal_device_copy_property(device, "freebsd.unit", device, "mmc_host.host"); ++} ++ ++void ++hf_mmc_set_properties (HalDevice *device) ++{ ++ HalDevice *block_device; ++ ++ hal_device_property_set_string(device, "info.subsystem", "mmc"); ++ ++ hf_memcard_block_device_new(device, ++ hal_device_property_get_string(device, "freebsd.driver"), ++ hal_device_property_get_int(device, "freebsd.unit"), ++ "sd_mmc"); ++ ++ /* This information belongs to the block device. */ ++ hal_device_property_remove(device, "freebsd.device_file"); ++ hal_device_property_remove(device, "freebsd.driver"); ++ hal_device_property_remove(device, "freebsd.unit"); ++} Added: head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/hal/files/patch-hald_freebsd_hf-memcard.h Tue Nov 12 17:35:53 2013 (r333593) @@ -0,0 +1,39 @@ +--- ./hald/freebsd/hf-memcard.h.orig 2013-10-22 01:49:12.608421644 +0200 ++++ ./hald/freebsd/hf-memcard.h 2013-10-22 01:41:55.228962237 +0200 +@@ -0,0 +1,36 @@ ++/*************************************************************************** ++ * CVSID: $Id$ ++ * ++ * hf-memcard.h : memory card support ++ * ++ * Copyright (C) 2013 Alberto Villa <avilla@FreeBSD.org> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ **************************************************************************/ ++ ++#ifndef _HF_MEMCARD_H ++#define _HF_MEMCARD_H ++ ++#ifdef HAVE_CONFIG_H ++# include <config.h> ++#endif ++ ++#include "../device.h" ++ ++void hf_mmc_host_set_properties (HalDevice *device); ++void hf_mmc_set_properties (HalDevice *device); ++ ++#endif /* _HF_MEMCARD_H */ Added: head/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c Tue Nov 12 17:35:53 2013 (r333593) @@ -0,0 +1,28 @@ +--- ./hald/freebsd/hf-scsi.c.orig 2009-08-24 14:42:29.000000000 +0200 ++++ ./hald/freebsd/hf-scsi.c 2013-10-23 13:11:08.979758920 +0200 +@@ -223,7 +223,7 @@ + hal_device_copy_property(parent, "scsi.lun", device, "storage.lun"); + /* do not stop here, in case it's an umass device */ + } +- else if (! strcmp(bus, "usb")) ++ else if (hal_device_has_property(parent, "scsi_host.freebsd.driver") && ! strcmp(hal_device_property_get_string(parent, "scsi_host.freebsd.driver"), "umass")) + { + hal_device_property_set_string(device, "storage.bus", "usb"); + hal_device_property_set_string(device, "storage.originating_device", hal_device_get_udi(parent)); +@@ -508,6 +508,16 @@ + if (! parent || ! hal_device_property_get_bool(parent, "info.ignore")) + { + device = hf_scsi_bus_device_new(parent, match); ++ /* ++ * Due to synchronization problems, the SCSI bus could be ++ * created before the USB interface. Mark it as a USB mass ++ * storage device to ensure it is detected as such. ++ */ ++ if (! strcmp(match->dev_name, "umass-sim")) ++ { ++ hal_device_property_set_string(device, "scsi_host.freebsd.driver", "umass"); ++ hal_device_property_set_int(device, "scsi_host.freebsd.unit", match->unit_number); ++ } + hf_device_preprobe_and_add(device); + } + } Modified: head/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c ============================================================================== --- head/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c Tue Nov 12 17:30:33 2013 (r333592) +++ head/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c Tue Nov 12 17:35:53 2013 (r333593) @@ -1,5 +1,5 @@ ---- hald/freebsd/hf-usb2.c.orig 2009-08-24 14:42:29.000000000 +0200 -+++ hald/freebsd/hf-usb2.c 2011-06-28 16:18:02.000000000 +0200 +--- ./hald/freebsd/hf-usb2.c.orig 2009-08-24 14:42:29.000000000 +0200 ++++ ./hald/freebsd/hf-usb2.c 2013-10-23 13:10:36.639758556 +0200 @@ -22,7 +22,7 @@ **************************************************************************/ @@ -9,7 +9,7 @@ #endif #include <string.h> -@@ -42,246 +42,200 @@ +@@ -42,246 +42,213 @@ static struct libusb20_backend *hf_usb2_be = NULL; static void @@ -94,6 +94,19 @@ + + hf_usb_device_compute_udi(device); + hf_device_add(device); ++ ++ /* ++ * The SCSI bus could already exist; make it a child of ++ * this USB interface. ++ */ ++ if (driver && !strcmp(driver, "umass")) { ++ HalDevice *scsi_bus; ++ scsi_bus = hf_device_store_match(hald_get_gdl(), ++ "scsi_host.freebsd.driver", HAL_PROPERTY_TYPE_STRING, driver, ++ "scsi_host.freebsd.unit", HAL_PROPERTY_TYPE_INT32, hal_device_property_get_int(device, "freebsd.unit"), NULL); ++ if (scsi_bus) ++ hal_device_property_set_string(scsi_bus, "info.parent", hal_device_get_udi(device)); ++ } + } + } } Modified: head/sysutils/hal/pkg-plist ============================================================================== --- head/sysutils/hal/pkg-plist Tue Nov 12 17:30:33 2013 (r333592) +++ head/sysutils/hal/pkg-plist Tue Nov 12 17:35:53 2013 (r333593) @@ -70,6 +70,13 @@ libexec/hald-probe-storage libexec/hald-probe-volume libexec/hald-runner sbin/hald +share/PolicyKit/policy/org.freedesktop.hal.dockstation.policy +share/PolicyKit/policy/org.freedesktop.hal.killswitch.policy +share/PolicyKit/policy/org.freedesktop.hal.leds.policy +share/PolicyKit/policy/org.freedesktop.hal.policy +share/PolicyKit/policy/org.freedesktop.hal.power-management.policy +share/PolicyKit/policy/org.freedesktop.hal.storage.policy +share/PolicyKit/policy/org.freedesktop.hal.wol.policy %%PORTDOCS%%%%DOCSDIR%%/README.freebsd %%PORTDOCS%%%%DOCSDIR%%/README.fuse %%DATADIR%%/dist/hal.conf @@ -89,13 +96,6 @@ sbin/hald %%DATADIR%%/fdi/policy/10osvendor/20-storage-methods.fdi %%DATADIR%%/fdi/policy/10osvendor/30-wol.fdi %%DATADIR%%/mount-fuse -share/PolicyKit/policy/org.freedesktop.hal.dockstation.policy -share/PolicyKit/policy/org.freedesktop.hal.killswitch.policy -share/PolicyKit/policy/org.freedesktop.hal.leds.policy -share/PolicyKit/policy/org.freedesktop.hal.policy -share/PolicyKit/policy/org.freedesktop.hal.power-management.policy -share/PolicyKit/policy/org.freedesktop.hal.storage.policy -share/PolicyKit/policy/org.freedesktop.hal.wol.policy @exec mkdir -p %D/%%DATADIR%%/fdi/policy/20thirdparty @exec mkdir -p %D/%%DATADIR%%/fdi/preprobe/10osvendor @exec mkdir -p %D/%%DATADIR%%/fdi/preprobe/20thirdparty @@ -112,6 +112,8 @@ share/PolicyKit/policy/org.freedesktop.h @dirrm %%DATADIR%%/dist @dirrm %%DATADIR%% @dirrm %%DOCSDIR%% +@dirrmtry share/PolicyKit/policy +@dirrmtry share/PolicyKit @dirrm libexec/hal/scripts/freebsd @dirrm libexec/hal/scripts @dirrm libexec/hal _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org" State Changed From-To: open->closed Patch committed. |