Changeset 4e78236 in mainline


Ignore:
Timestamp:
2011-05-24T19:10:49Z (13 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d7c72db
Parents:
e7079cf
Message:

Fixed mkbd and corresponding library functions.

  • Fixed linking remote_usbhid.c
  • Added some temporary debug output.
  • Fix in hiddev.c.
Location:
uspace
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/mkbd/Makefile

    re7079cf r4e78236  
    3131
    3232LIBS = \
     33        $(LIBUSBHID_PREFIX)/libusbhid.a \
    3334        $(LIBUSBDEV_PREFIX)/libusbdev.a \
    3435        $(LIBUSB_PREFIX)/libusb.a \
    35         $(LIBDRV_PREFIX)/libdrv.a \
    36         $(LIBUSBHID_PREFIX)/libusbhid.a
     36        $(LIBDRV_PREFIX)/libdrv.a
    3737EXTRA_CFLAGS = \
    3838        -I$(LIBUSB_PREFIX)/include \
  • uspace/app/mkbd/main.c

    re7079cf r4e78236  
    4949#include <usb/hid/iface.h>
    5050#include <usb/dev/pipes.h>
     51#include <async.h>
    5152
    5253#define NAME "mkbd"
     
    229230        }
    230231       
    231         char *devpath = argv[1];
     232        //char *devpath = argv[1];
     233        const char *devpath = "/hw/pci0/00:06.0/ohci-rh/usb00_a2/HID0/hid";
    232234
    233235//      /* The initialization is here only to make compiler happy. */
     
    323325               
    324326                printf("Got buffer: %p, size: %zu\n", event, actual_size);
     327               
     328                async_usleep(10000);
    325329        }
    326330       
  • uspace/drv/usbhid/generic/hiddev.c

    re7079cf r4e78236  
    8383static size_t usb_generic_hid_get_event_length(ddf_fun_t *fun)
    8484{
    85         usb_log_debug("Generic HID: Get event length.\n");
     85        usb_log_debug("Generic HID: Get event length (fun: %p, "
     86            "fun->driver_data: %p.\n", fun, fun->driver_data);
    8687       
    87         if (fun == NULL || fun->driver_data) {
     88        if (fun == NULL || fun->driver_data == NULL) {
    8889                return 0;
    8990        }
     
    9192        usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data;
    9293       
    93         return hid_dev->input_report_size;
     94        usb_log_debug("hid_dev: %p, Max input report size (%d).\n",
     95            hid_dev, hid_dev->max_input_report_size);
     96       
     97        return hid_dev->max_input_report_size;
    9498}
    9599
     
    101105        usb_log_debug("Generic HID: Get event.\n");
    102106       
    103         if (fun == NULL || fun->driver_data) {
     107        if (fun == NULL || fun->driver_data == NULL) {
     108                usb_log_debug("No function");
    104109                return EINVAL;
    105110        }
  • uspace/lib/drv/Makefile

    re7079cf r4e78236  
    4040        generic/remote_usb.c \
    4141        generic/remote_pci.c \
    42         generic/remote_usbhc.c
     42        generic/remote_usbhc.c \
     43        generic/remote_usbhid.c
    4344
    4445include $(USPACE_PREFIX)/Makefile.common
  • uspace/lib/drv/generic/dev_iface.c

    re7079cf r4e78236  
    4646#include "remote_pci.h"
    4747
     48#include <stdio.h>
     49
    4850static iface_dipatch_table_t remote_ifaces = {
    4951        .ifaces = {
     
    5961remote_iface_t *get_remote_iface(int idx)
    6062{
     63        printf("get_remote_iface(): idx: %d\n", idx);
    6164        assert(is_valid_iface_idx(idx));
     65        printf("remote iface: %p\n", remote_ifaces.ifaces[idx]);
     66       
     67        printf("remote_usbhid_iface ptr: %p\n", &remote_usbhid_iface);
     68       
    6269        return remote_ifaces.ifaces[idx];
    6370}
     
    6673get_remote_method(remote_iface_t *rem_iface, sysarg_t iface_method_idx)
    6774{
     75        printf("remote iface: %p\n", rem_iface);
     76        printf("Method count: %d\n", rem_iface->method_count);
    6877        if (iface_method_idx >= rem_iface->method_count) {
    6978                return NULL;
  • uspace/lib/drv/generic/driver.c

    re7079cf r4e78236  
    397397                         * handling ("remote interface").
    398398                         */
     399                        printf("iface_idx: %d\n", iface_idx);
    399400                        remote_iface_t *rem_iface = get_remote_iface(iface_idx);
    400401                        assert(rem_iface != NULL);
  • uspace/lib/drv/generic/remote_usbhid.c

    re7079cf r4e78236  
    3636#include <errno.h>
    3737#include <assert.h>
     38#include <stdio.h>
    3839
    3940#include "usbhid_iface.h"
     
    5859};
    5960
    60 usbhc_iface_t *usb_iface = (usbhc_iface_t *) iface;
     61//usbhc_iface_t *usb_iface = (usbhc_iface_t *) iface;
    6162
    6263
     
    7576
    7677        size_t len = hid_iface->get_event_length(fun);
    77         if (len == 0) {
    78                 len = EEMPTY;
    79         }
    80         if (len < 0) {
    81                 async_answer_0(callid, len);
    82         } else {
    83                 async_answer_1(callid, EOK, len);
    84         }
     78//      if (len == 0) {
     79//              len = EEMPTY;
     80//      }
     81        async_answer_1(callid, EOK, len);
     82       
     83//      if (len < 0) {
     84//              async_answer_0(callid, len);
     85//      } else {
     86//              async_answer_1(callid, EOK, len);
     87//      }
    8588}
    8689
  • uspace/lib/drv/include/remote_usbhid.h

    re7079cf r4e78236  
    3636#define LIBDRV_REMOTE_USBHID_H_
    3737
    38 remote_iface_t remote_usbhid_iface;
     38extern remote_iface_t remote_usbhid_iface;
    3939
    4040#endif
  • uspace/lib/usbhid/src/hidiface.c

    re7079cf r4e78236  
    8686                return EINVAL;
    8787        }
     88       
     89//      if (size == 0) {
     90//              return EOK;
     91//      }
    8892
    8993        size_t buffer_size =  size;
Note: See TracChangeset for help on using the changeset viewer.